React не получает токены API после перенаправления Google OAuth через Social_django/DRF-Social-OAuth2Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 React не получает токены API после перенаправления Google OAuth через Social_django/DRF-Social-OAuth2

Сообщение Anonymous »

Я внедряю Google OAuth2 для моего API Django Rest с помощью фронта React. Основной поток настроен правильно.
У меня есть маршруты для: < /p>

Код: Выделить всё

urlpatterns = [
path("admin/", admin.site.urls),
path("api/v1/", include((v1_patterns, "v1"))),
path("api/v1/auth/", include("social_django.urls", namespace="social")),
path("api/v1/auth/token/", include("drf_social_oauth2.urls", namespace="oauth2")),
]
< /code>
Также у меня есть: < /p>
INSTALLED_APPS = [
...
"drf_yasg",
"social_django",
"oauth2_provider",
"drf_social_oauth2",
...
]

SOCIAL_AUTH_URL_NAMESPACE = "social"

AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"social_core.backends.google.GoogleOAuth2",
"drf_social_oauth2.backends.DjangoOAuth2",
)

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = config("GOOGLE_OAUTH_CLIENT_ID")
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = config("GOOGLE_OAUTH_CLIENT_SECRET")

SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = ["email", "profile"]
SOCIAL_AUTH_GOOGLE_OAUTH2_EXTRA_DATA = [
"email",
"first_name",
"last_name",
"picture",
]

LOGIN_REDIRECT_URL = "http://127.0.0.1:5173"

# REST Framework general settings
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": (
"oauth2_provider.contrib.rest_framework.OAuth2Authentication",
"drf_social_oauth2.authentication.SocialAuthentication",
)
}
Для входа в систему я отправил запрос GET из браузера на http: // localhost: 8000/api/v1/auth/login/google-oauth2/
после отправки запроса, в консоли I

Код: Выделить всё

api_container | [24/Jun/2025 13:04:19] "GET /api/v1/auth/login/google-oauth2/ HTTP/1.1" 302 0
api_container | [24/Jun/2025 13:04:20] "GET /api/v1/auth/complete/google-oauth2/?state=KYTUm5yi1NheUmc095zaRqIc3mZjsOLp&code=4%2F0AUJR-x4dcWMTghJHjPc1QbiPrCFo5lo2u9l1cYJ47F61fB0kIkQe4I0DFAt33UZOPBBI8g&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&prompt=none HTTP/1.1" 302 0
< /code>
После успешного входа в систему я перенаправляюсь на свое приложение React (127.0.0.1:5173) - но проблема в том, что токены (доступ или обновление) передаются клиенту. Я не знаю, как извлечь или отправить их, чтобы ReAct могла аутентифицировать будущие вызовы API. class = "lang-json prettyprint-override">{
"hd": "domain",
"email": "my_email",
"expires": 3599,
"picture": "link",
"auth_time": 1750762274,
"last_name": "Doe",
"first_name": "John",
"token_type": "Bearer",
"access_token": "token"
}
< /code>
Что мне нужна помощь с: < /p>

[*] Как я могу извлечь и отправлять обратно сгенерированные токены доступа /обновления для реагирования после успешного входа в систему? Если да-какой запрос я должен сделать и где? вызовы. 
Что я пробовал до сих пор: 
[list]
 Настроенный социальный_django 
и DRF-social-oauth2
[*] Проверенные циклы и сведения о работах. Пример
[/list]

Подробнее здесь: https://stackoverflow.com/questions/796 ... l-django-d
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»