Tiempo de vencimiento del token de acceso de Google

150

Cuando obtengo un access_token de la API de Google, viene con un expires_invalor. Según la documentación, este valor indica "La vida útil restante del token de acceso".

¿Cuáles son las unidades de este valor?

Frank LaRosa
fuente
8
¿Porque el 99.9% del tiempo cuando tiene un número que representa el tiempo son segundos o subdivisión, y mili / microsegundos no tiene sentido para este caso?
Venge
77
@FrankLaRosa: ¿hay alguna forma de establecer la expiración del token de acceso en ilimitado?
hardik
Repito lo de seme: acepte la respuesta a continuación si es satisfactoria, ¡gracias! Sin embargo, las unidades de este valor son segundos.
Davide Castronovo
@Hardik, ¿cómo puedo hacer que el tiempo de expiración sea ilimitado? ¿Encontraste alguna solución?
Jay Patel
Curiosamente, ¿cuál es la relación entre expirar y permitir una actualización (para obtener un nuevo token)? Si espera hasta que caduque para obtener un nuevo token, algunas llamadas de API fallarán en el medio. Si "actualiza" demasiado pronto, simplemente recuperará el token antiguo. ¿Cómo sabe cuándo puede obtener un nuevo token, en relación con el expires_in suministrado?
John Little,

Respuestas:

96

La especificación dice segundos:

http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-4.2.2

expires_in
    OPTIONAL.  The lifetime in seconds of the access token.  For
    example, the value "3600" denotes that the access token will
    expire in one hour from the time the response was generated.

Estoy de acuerdo con OP en que es descuidado que Google no documente esto.

Lawrence Kesteloot
fuente
Debe hacer clic en la pestaña "OAUTH 2.0 ENDPOINTS"
Davide Castronovo
89

Echa un vistazo a: https://developers.google.com/accounts/docs/OAuth2UserAgent#handlingtheresponse

Dice:

Otros parámetros incluidos en la respuesta incluyen expires_iny token_type. Estos parámetros describen la vida útil del token en segundos ...

stewe
fuente
¿a qué token se refiere expires_in: token de acceso o token de actualización?
ア レ ッ ク ス
1
@AlexanderSupertramp que debe referirse al token de acceso como un token de actualización se utiliza para obtener nuevos tokens de acceso cuando el usuario está desconectado.
Jeremy Thiesen
15

Como no hay una respuesta aceptada, intentaré responder a esta:

[s] - seconds
msysmilu
fuente
6

De Google OAuth2.0 para la documentación del Cliente ,

  • expires_in : el número de segundos restantes antes de que el token deje de ser válido.
Davide Castronovo
fuente
Ya no está en esa página, el valor máximo se puede ingresar como 3900 pero el valor real es 3600. ¿Se pregunta si hay una manera de tener un token sin vencimiento?
sojim2
vea este enlace en esa página: developers.google.com/identity/protocols/… pero no sé cómo obtener un token sin vencimiento, sin embargo, creo que usar tales tokens es un mal diseño para la seguridad.
Davide Castronovo