válido tutorial parece indicado implementar implement identificador how estandar como app php api twitter oauth

php - tutorial - ¿Debería generarse el token de acceso en OAuth cada vez que el usuario inicie sesión?



oauth2 api (1)

No deberías regenerar el token para cada acceso. Generarlo solo cuando haya expirado. Construí una aplicación de Twitter usando OAuth. Aquí mi flujo:

  1. cuando el usuario inicie sesión, verificaré si tienen token en DB

    1.1. Si no existe, autentíquelos y luego almacene y use el token resultante.

    1.2. Si existe, úselo.

    1.2.1. Si Twitter no se queja, entonces el token sigue siendo válido, úselo.

    1.2.2. Si Twitter se quejó, entonces el token está vencido. Regrese a 1.1.

    1.2.3. Si después de x reintentar, twitter aún se quejaba. Algo está mal, ¡notifica a admin!

Aquí está la explicación gráfica:

Implementé oAuth en php (actualmente para Twitter) y como he leído en varios tutoriales, debes guardar el token de acceso en db para usarlo en el futuro. Sin embargo, no veo cómo sabe si tiene el token de acceso almacenado para que un usuario en particular decida si debe sacarlo de la base de datos o regenerarlo. Aquí hay un flujo describiendo mi pregunta:

La primera vez que el usuario inicia sesión:

  • obtener token de solicitud
  • enviar usuario a la página de autenticación del proveedor
  • el usuario vuelve a la url de devolución de llamada con oauth token y oauth verifier
  • obtener acceso token
  • guardar acceso token / user_id / screen_name en db para uso futuro

El usuario regresa 10 minutos después:

  • token de acceso todavía está en vars de sesión del servidor si el usuario no se desconectó. De lo contrario, repita el proceso.

El usuario regresa 1 mes después:

  • obtener token de solicitud
  • enviar usuario a la página de autenticación del proveedor
  • el usuario vuelve a la url de devolución de llamada con oauth token y oauth verifier
  • (en este punto solo tengo tokens oauth, ¿cómo puedo saber si el usuario ha iniciado sesión con Twitter y ha sacado su token de acceso de db?)
  • si es el primer inicio de sesión del usuario, genere token de acceso.

El flujo de trabajo principal para OAuth es claro, sin embargo, no está claro cómo manejar a los usuarios que regresan y qué datos deben almacenarse o no.

¡Un millón de gracias!