¿Dónde debo guardar un token de actualización?

6

Estoy construyendo un protocolo auth 2.0. Me pregunto cómo funciona exactamente el token de actualización.

Tengo entendido que el uso de un token de actualización habilita el token de acceso de corta duración y, por lo tanto, limita la vulnerabilidad de esos tokens de acceso. Genial hasta ahora Una vez que caduque un token de acceso, de alguna manera usará el token de actualización para obtener un nuevo token de acceso.

Me pregunto cómo ocurrirá exactamente esa última parte (sin interrumpir el flujo de usuarios al cerrar sesión):

  • para asegurar la transacción, ¿debería exigirse que el ID de la aplicación y el secreto de la aplicación se envíen a lo largo del token de actualización para garantizar la identidad del solicitante?
    • si es así, parece que no desea almacenar una aplicación secreta en un cliente (aplicación web o móvil u otra), así que, ¿cómo puede hacerlo sin cerrar la sesión del usuario?
    • si no, ¿cuál es el punto del token de actualización si no puede usarlo para verificar la identidad del solicitante? ¿Y está bien almacenar el token de actualización en un cliente?
pregunta Guig 14.07.2016 - 21:04
fuente

1 respuesta

2

El compromiso del token de actualización causaría más daño que el token de acceso.

Puedes emplear varias técnicas para hacerlo más seguro.

Puede obtener la idea aprendiendo acerca de una de las técnicas estándar que se recomiendan para "El marco de autorización OAuth 2.0". Consulte la RFC .

Puede separar la inquietud de acceso y autorización manteniendo un servidor de recursos y un servidor de autorización separados. Puede usar solo el token de acceso (y no el token de actualización) para acceder al recurso. Puede usar solo el token de actualización (y no el token de acceso) para comunicarse con el servidor de autorización. Esto mitiga el riesgo de que el token de actualización se vea comprometido.

En segundo lugar, es más fácil detectar si el token de actualización está comprometido. Digamos que un token de actualización está comprendido y se utiliza para generar nuevos tokens de acceso. Una vez que se revoca este token de actualización, todos los tokens de acceso ya generados y estos últimos se invalidarán. Como tal, solo 1 parte podrá acceder a los recursos utilizando tokens de acceso generados utilizando el token de actualización válido único. Si participan varios usuarios, seguirán invalidándose unos a otros. En el proceso, la detección del compromiso del token de actualización se hace más fácil.

    
respondido por el Manojkumar Khotele 03.08.2018 - 13:58
fuente

Lea otras preguntas en las etiquetas