Esta pregunta puede ser súper simple, pero he estado buscando en Google por un tiempo y no he encontrado una solución exacta.
Estoy tratando de implementar un inicio de sesión de Google usando React para el frontend y Django para el backend.
¿Cómo exactamente haría esto? He visto soluciones en las que se envía un token al backend, que luego recupera la información necesaria de la API de Google y crea o recupera un usuario de la base de datos en función del token. Sin embargo, esto parecía estar basado en JWT y me preguntaba si es posible implementar lo mismo con el simple Django Auth Token.
Tal vez estoy realmente ciego, pero realmente no pude encontrar una solución adecuada.
¡Gracias por tu ayuda!
De hecho, estaba trabajando en esto hace unos momentos, después de muchos errores en el pasado. Realmente es un dolor de cabeza tratar de encontrar una solución que funcione con React. Sin embargo, logré configurar fácilmente el inicio de sesión de Google en el lado frontal de React con https://www.npmjs.com/package/react-google-login . Este debería ser el primer paso que deberá tomar.
Después de eso, deberá configurar el inicio de sesión social en el backend de Django usando django_allauth. Básicamente, la idea es que una vez que un usuario inicie sesión a través de Google o, para ser más precisos, haga clic en el botón Iniciar sesión con Google en la parte frontal, se recuperará un token de acceso de Google y se guardará en el almacenamiento local junto con algunos otros datos. Solo el access_token es de interés aquí. Por lo tanto, deberá tomar este access_token y enviarlo al backend de Django a través de una API Rest de una vista que tendrá configurada. Eso hará que los datos de los usuarios de Google se guarden en la base de datos en las cuentas sociales y, en última instancia, inicien sesión en la aplicación. Todo a partir de ese momento debe continuar según sus inicios de sesión normales con correo electrónico y nombre de usuario. Es decir, si usa JWT, se devolverá un token jwt desde el backend que, con suerte, debería poder guardar en el almacenamiento local. En mi aplicación React, me autentico con este token, por lo que siempre que tenga el token en el almacenamiento local, un usuario iniciará sesión.
Pratik Singh Chauhan hace un buen trabajo explicando esto en su tutorial de la Parte 1 aquí -> https://medium.com/@pratique/social-login-with-react-and-django-i-c380fe8982e2 y Parte 2 aquí -> https ://medium.com/@pratique/social-login-with-react-and-django-ii-39b8aa20cd27