Estoy utilizando el inicio de sesión de Google para autenticar a mis usuarios con el servidor back-end de mi aplicación de Android.
Hasta ahora puedo iniciar sesión y obtener un token de ID, que luego envío a mi servidor back-end para verificación, lo que puedo hacer usando el PHP Client API API . Después de este punto, la documentación de Google dice :
Crear una cuenta o sesión
Después de verificar el token, verifique si el usuario ya está en su base de datos de usuarios. Si es así, establecer una sesión autenticada para el usuario. Si el usuario aún no está en su base de datos de usuarios, cree un nuevo registro de usuario a partir de la información en la carga útil del token de ID y establezca una sesión para el usuario. Puede solicitar al usuario cualquier información de perfil adicional que necesite cuando detecte un usuario recién creado en su aplicación.
P: ¿Cuáles son los beneficios de establecer una sesión autenticada para el usuario? ¿No puedo usar el ID de token cada vez que identifique al usuario en el punto final de mi servidor? Seguramente, si el token de ID ha caducado, puedo indicarle al cliente y hacer que el cliente vuelva a iniciar sesión en Google nuevamente, luego usar el nuevo token de ID para acceder a mi punto final con éxito.
Si continuara usando mis propios tokens de JWT después del inicio de sesión en Google, todo lo que realmente estaría haciendo es cambiar un JWT por otro, excepto que tendría el control sobre el contenido de mis propios JWT, por ejemplo. Tiempo de validez.
Nota: el ID de token de Google contiene un "sub" número que identifica de forma única al usuario, por lo que puedo usarlo fácilmente para indexar en mi base de datos.