oauth oauth-2.0

OAuth 2.0 Token y vida útil



oauth-2.0 (1)

  1. Cuando utiliza OAuth 2.0, obtiene un token de acceso que tiene un tiempo de caducidad enviado junto con él. O puede realizar un seguimiento de cuándo caduca o simplemente seguir usándolo hasta que reciba un error INVALID_TOKEN. Luego, deberá llamar al servicio de actualización del token para obtener un nuevo token de acceso. Tu token de actualización es bueno hasta que sea revocado.

  2. Esto es OpenID, no OAuth. El flujo es similar, pero es para registrar un usuario en su servicio. OAuth es para usted recuperar los datos del usuario de otra cuenta.

Estoy tratando de entender OAuth 2.0 ( FLUJO LATERAL DEL SERVIDOR ). Vamos a tomar un ejemplo simple de la API de contactos de Google.

De acuerdo con las especificaciones, registré mi aplicación en Google y obtuve el ID de cliente y el secreto del cliente. También mencioné la URL de devolución de llamada.

Obtener el token de acceso requiere que lo haga

  1. Redirige al usuario a una determinada URL con cadenas de consulta y encabezados requeridos como se menciona en el documento de OAuth en el sitio de Google ( https://accounts.google.com/o/oauth2/auth bla bla)

  2. Después de que el usuario ingrese sus credenciales, se envían de vuelta a la URL de devolución de llamada como se menciona en mi APLICACIÓN, que ya me he registrado en Google. aquí el parámetro de cadena de consulta & code = 4 / P7q7W91a-oMsCeLvIaQm6bTrgtp6 bla bla también se adjunta para devolver la llamada a la URL. Así ahora tenemos el código de autorización.

  3. Ahora, envío una solicitud a https://accounts.google.com/o/oauth2/token con el código de autorización que obtuve en el paso anterior para obtener el token de acceso y el token de actualización.

Una vez que tengo este "token de acceso", puedo acceder (por ejemplo, contactar API y obtener contactos de usuario)

Todo está bien hasta este punto. También entiendo que los tokens de acceso tienen una vida útil limitada y podemos obtener un token de acceso nuevo con el "token de actualización".

A. Como desarrollador, ¿es mi responsabilidad almacenar y verificar si el "token de acceso" es válido?

B. Si mi sitio web es público con la cuenta "Iniciar sesión con Google / FB / twitter", ¿cómo puedo saber si es el mismo usuario que regresó al sitio después de 2 días y no necesito que solicite el inicio de sesión? ¿El usuario debe iniciar sesión automáticamente en el sitio? cauz no quiero que pase por el proceso de autorización, ya que ya han dado permiso a mi aplicación.

EG: He iniciado sesión en el sitio web de TechCrunch utilizando mi inicio de sesión de FB y puedo comentar sobre artículos. Ahora, incluso después de 1 semana, si visito TechCrunch, no tengo que iniciar sesión nuevamente. ¿Cómo saben que soy yo y ya estoy autenticado?