2012-01-21 15 views
81

He utilizado el token de actualización varias veces en solo un breve período de tiempo para realizar pruebas, pero me pregunto si el token de actualización de Google caducará. O puedo llamar al mismo token de actualización para obtener otro token de acceso una y otra vez en un período prolongado (una semana o incluso meses).¿Los tokens de actualización de Google caducan?

+0

¿Estás usando ruby, o tienes un ejemplo de código para eso? – Thufir

Respuesta

110

Los tokens de actualización de servidor de autenticación de Google nunca caducan: ese es el objetivo de los tokens de actualización. El token de actualización caducará (o debería decir que no está autorizado) cuando el usuario cancele el acceso a su aplicación.

Consulte esto doc indica claramente la función de los tokens de actualización.

En lugar de emitir un token de larga duración (normalmente bueno para un año o de por vida ilimitada), el servidor puede emite una breve token de acceso y un token de actualización de larga vida. En resumen, puede usar tokens de actualización una y otra vez hasta que el usuario que autorizó el acceso revoca el acceso a su aplicación.

+0

¡Gracias! Tengo que ver el documento. –

+5

La parte "bueno por un año" no lo deja tan claro como sugiere; pero dado que no parece causar problemas en la práctica, supongo que el token de actualización es de hoja perenne. – mahemoff

+37

Expiración del token Debe escribir su código para anticipar la posibilidad de que un token otorgado ya no funcione. Un token puede dejar de funcionar por uno de estos motivos: El usuario ha revocado el acceso. El token no se ha utilizado durante seis meses. La cuenta de usuario ha excedido una cierta cantidad de solicitudes de tokens. Actualmente, existe un límite de 25 tokens por cuenta de usuario de Google. Si una cuenta de usuario tiene 25 tokens válidos, la siguiente solicitud de autenticación tiene éxito, pero invalida silenciosamente el token sobresaliente más antiguo sin ninguna advertencia visible para el usuario. (de https://developers.google.com/accounts/docs/OAuth2) – bazik

14

No creo que esto es completamente cierto:

Tenga en cuenta que hay límites en el número de tokens de actualización que serán emitidas; un límite por combinación de cliente/usuario y otro por usuario en todos los clientes. Debería guardar los tokens de actualización en el almacenamiento a largo plazo y continuar usándolos mientras sigan siendo válidos. Si su aplicación solicita demasiados tokens de actualización, puede llegar a estos límites, en cuyo caso los tokens de actualización más antiguos dejarán de funcionar.

de esta página: https://developers.google.com/youtube/v3/guides/authentication#installed-apps

Eso es a partir de los documentos de YouTube (que me parece ser mucho mejor que otras API Docs) pero creo que es el mismo en todas las aplicaciones de Google.

2

El concepto principal de token de actualización, es que es de larga duración y nunca caduca.

El token de acceso tiene un tiempo de caducidad y expira, una vez que caduca podemos ir al token de actualización, que se utilizará una y otra vez hasta que el usuario cancele su cuenta.

-1

He realizado más investigaciones y parece que el token de acceso de Google se utiliza para recuperar un token de actualización, durante la primera solicitud 'sin conexión'. Desde este punto en adelante, el token de actualización se usa para emitir un nuevo token de acceso. La idea es que un token de acceso es un token de corto plazo, pero puede renovarse con un token de actualización a largo plazo.Esto elimina la necesidad de tener que solicitar la variable 'código' URL, lo que requiere un enfoque de dos punto final y tiene que ser iniciado, mediante una solicitud en base de referencia:

http://www.jensbits.com/2012/01/09/google-api-offline-access-using-oauth-2-0-refresh-token/

Algunos, servicios API REST como Dropbox, emiten tokens de acceso que duran para siempre, pero Google emite tokens de acceso a corto plazo. PayPal utiliza un compromiso, por el cual permite que los tokens de acceso sean recuperados sin la aplicación de referencia de URI. Esto significa que los tokens de acceso se pueden recuperar sin tener que hacer clic en un enlace para iniciar el proceso. La metodología de Google significa que las rutinas de API solo deben invocarse según la necesidad de uso. Esencialmente, las llamadas se inician a través de procedimientos basados ​​en referencias. Esto se controla emitiendo tokens de acceso de corta duración o tokens de acceso que se deben renovar en una cadena. Esto requiere que los desarrolladores piensen más cuidadosamente sobre cómo debe fluir un sistema.

31

Este es un hilo muy confuso. La primera respuesta parece ser correcta, pero en realidad no cita nada autorizado de Google.

La respuesta más definitiva que encontré es en realidad en el parque infantil del desarrollador donde obtienes el token. Paso 2 tiene una nota al pie que dice:

"Nota: El OAuth Zona de juegos no almacena tokens de actualización, pero como tokens de actualización no caducan, el usuario debe ir a su página de acceso autorizado de la cuenta de Google si les gustaría para revocarlos manualmente ".

https://developers.google.com/oauthplayground/

+2

mejor respuesta aquí - por qué nadie ha votado es increíble - muchas gracias - trate los tokens de actualización como si nunca expiraran - sin embargo al registrarse compruebe uno nuevo en caso de que el usuario cancele el token de actualización, en este escenario Google proporcionará una nueva actualización token al iniciar sesión así que simplemente actualice el token de actualización – danday74

3

Las reglas han cambiado en este en algún momento de 2017, por lo que la mejor respuesta que creo es que depende del producto. Por ejemplo, en la API de Gmail, el token de actualización de Oauth 2.0 caduca al cambiar la contraseña. Ver esto https://support.google.com/a/answer/6328616?hl=en

Solíamos configurar el acceso a API con anticipación y generar tokens de actualización cuando configuramos NUEVOS usuarios de gmail, y luego podíamos archivar su correo (debemos hacerlo por ley), pero ahora tan pronto como cambiar su contraseña, se revoca el token de actualización.

Tal vez para youtube, mapas, el token de actualización todavía es realmente longevo, pero para la API de Gmail, cuente con un token corto.

+0

Parece que se volvió oficial el 5 de octubre de 2016. https://developers.googleblog.com/2016/09/increased-account-security-via-oauth-2-0-token -revocation.html – user3919648

Cuestiones relacionadas