¿Enviar token de acceso que no caduca en cada solicitud en lugar de usar tokens de actualización?

5

Al proteger las API de REST para aplicaciones móviles, lo que se ve a menudo es el uso de tokens de actualización. Existen porque:

  1. Los tokens de acceso tienen fecha de caducidad.
  2. No queremos que el usuario tenga que ingresar sus credenciales.

Los tokens de actualización son tokens revocables sin fecha de caducidad que se pueden usar para recuperar un token de acceso nuevo cuando el último ha caducado. Consulte aquí .

En todas sus llamadas a la API, se enviará el token de acceso (válido). Cuando caduca, utiliza su "clave especial" (el token de actualización) para obtener otro token de acceso no caducado.

¿Por qué este patrón ampliamente utilizado es inferior o diferente a la simple emisión de un token de acceso que no caduca y al almacenarlo en el dispositivo, de la misma forma en que habría almacenado su token de actualización?

PD: Si su respuesta a esto es que enviar el token que no caduca en cada solicitud es menos seguro (intermediario), diría: ¿es realmente cuando su API ha superado el HTTPS? (Además, de todos modos, do envía un token que no caduca en la misma red, simplemente lo llama "token de actualización" y lo envía con menos frecuencia).

PS2: si su respuesta se relaciona con la capacidad de revocar tokens de actualización, supongo que podría argumentar que también podríamos hacer que nuestros tokens de acceso sean revocables.

    
pregunta lapin 02.05.2016 - 14:58
fuente

1 respuesta

1

Cuando se trabaja, por ejemplo, con tokens JWT, los tokens son autofirmados.
Lo que significa que el resource service puede verificar la integridad del token sin tener que comunicarse con el authentication server . Lo que está bien hacer con access tokens de corta duración.
Pero cuando el refresh token se usará para adquirir un nuevo access token del authentication server , el authentication server podría estar realizando una mayor validación, como verificar si la sesión fue revocada o si la cuenta del usuario todavía existe, aún está activa y Todavía tiene los derechos para acceder al resource service , por lo que emitirá un nuevo access token .

En ese caso, el uso de tokens de actualización y acceso puede ayudarlo a implementar mecanismos de validación más simples para tokens de acceso de corta duración, permitiendo una respuesta más rápida de su servidor de recursos.

    
respondido por el Thibault D. 03.05.2016 - 14:19
fuente

Lea otras preguntas en las etiquetas