React + React Native + Django AllAuth

Я запускаю сервер Django, на котором есть API, которые я использую через React Native и React applications.

Я хочу, чтобы это работало в Google, Facebook, Instagram и Twitter.

В этом вопросе я хочу сосредоточиться на приложении React и аутентификации Google, и, надеюсь, это будет применимо и к другим моим социальным сетям.

Моему приложению React удается нормально войти в систему Google

Он возвращает поле под названием "учетные данные", которое, как представляется, является JWT.

Я подумал, что могу отправить весь этот JWT или расшифровать его и отправить значение JTI в Django AllAuth, который вызовет Google и затем вернет данные пользователя, для чего я могу создать пользователя Django и войти в систему, и если у этого пользователя уже есть учетная запись, он просто войдет в систему и возвращаю пользовательские данные на мой сервер React.

Для некоторых функций API требуется, чтобы пользователи входили в систему.

У меня одинаковый client_id для моего приложения React и Django.

AllAuth уже делает это? Как мне с этим работать?

Когда я пытаюсь переслать свои "учетные данные" (те, которые Google вернул в мой React) в

auth/google/

Я получаю 403.

Я бы предположил, что мне не нужно делать это прагматично, поскольку это кажется довольно распространенной установкой.

Было бы здорово получить любые рекомендации о том, как я могу заставить эти React и Django AllAuth работать вместе.

Я предполагаю, что вы используете Django REST для своих API. Если это так, то существуют отличные сторонние пакеты, которые упрощают регистрацию и аутентификацию, такие как dj-rest-auth. Он предоставляет дополнительные конечные точки API для безопасной обработки аутентификации в Django Rest Framework и хорошо работает с React. Независимо от того, используете ли вы пользовательскую модель пользователя и/или allauth, dj-rest-auth хорошо интегрируется с обоими.

Вернуться на верх