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 хорошо интегрируется с обоими.