SmartAuth 2.0.58: sesiones robadas cortadas y desconexiones propagadas a los servicios
Una sesión robada se corta por completo
Un token de refresco solo sirve una vez: en cada renovación, SmartAuth emite uno nuevo, vinculado al anterior. Si se presenta de nuevo un token antiguo, SmartAuth lo interpreta como un robo y revoca toda la familia.
Esta revocación solo descendía un nivel en la cadena de renovaciones. Tras dos renovaciones o más, el token más reciente, el que utilizaba la sesión en curso, seguía siendo válido junto con su token de acceso. Ahora la revocación recorre toda la descendencia.
Los servicios conectados conocen cada revocación
Los servicios conectados mediante SSO validan los tokens de acceso ellos mismos y solo conocen una revocación a través de la lista que consultan periódicamente en SmartAuth. Varios caminos revocaban el token sin inscribirlo en esta lista, y el servicio lo aceptaba hasta su expiración, como máximo una hora:
- la reproducción de un token de refresco o de un código de autorización;
- el cambio y el restablecimiento de la contraseña;
- la desconexión OIDC, la desconexión de todas las sesiones y la revocación de una sesión desde la página de cuenta;
- la eliminación de la cuenta por su titular;
- la revocación solicitada por un cliente según la RFC 7009.
La publicación se realiza ahora en el núcleo de las funciones de revocación, con un motivo, y no en cada llamante: un nuevo camino de revocación no puede olvidarlo. Los módulos que ya publicaban sus revocaciones, como capsso al cierre de un contrato, siguen funcionando sin cambios.
Actualización
Reemplace la carpeta del módulo; no es necesaria ninguna reactivación.
Άλλες γλώσσες: Deutsch, English, Français, Italiano, Nederlands, Polski, Português