Hay tokens de acceso y tokens de actualización.
El token de acceso suele ser de corta duración (piense en 30 o 60 minutos), y no hay razón para persistir después de que haya expirado. No tiene uso para nadie.
El token de actualización es necesario para obtener un nuevo token de acceso, y suele ser de larga duración; al menos mientras sea una sesión activa.
Si un atacante obtiene un token de actualización, tiene todo el acceso que tendría el usuario si hubiera iniciado sesión con ese token. Sin embargo, tienen acceso a la (s) sesión (es) para las que ese Refresh Token en particular los autoriza. (Lo que significa que, si el token se otorgó por un privilegio menos que lo normal para ese usuario, el atacante tendría el mismo privilegio reducido).
Además, como no es una contraseña con hash, no pueden derivar la contraseña de texto simple con tablas de arco iris.
Un token de actualización se puede retirar en cualquier momento, sin necesidad de que el usuario cambie su contraseña.
Desde un punto de vista de seguridad, usar un token de actualización en lugar de requerir que el usuario inicie sesión de nuevo protege contra la navegación por los hombros. El inconveniente es que si el atacante tiene acceso físico al dispositivo que contiene el token de actualización, tampoco es necesario que se autentique.
Tenga cuidado al eliminar los tokens de actualización. Un token de actualización caducado no tiene ningún uso para nadie y se puede eliminar de forma segura. Pero eliminar un token de actualización activo requiere que los usuarios inicien sesión nuevamente; causándoles inconvenientes innecesarios.
Asegúrese de que la base de datos que contiene los tokens de actualización activos esté bien protegida. Normalmente no están hash como las contraseñas.