¿El uso de Refesh Token en la autenticación basada en token está asegurado?

Estoy construyendo una autenticación basada en token (Node.js usando pasaporte / JWT con un cliente angular).

Después de que el usuario ingrese sus credenciales, obtiene un token de acceso, que envía en cada solicitud dentro del encabezado (encabezado: portador TOKEN).

No quiero solicitar una solicitud de inicio de sesión cada vez que caduca su token de acceso (sobre todos los días, supongo), he oído hablar de laActualizar tokens. El token de actualización nunca caduca (o rara vez caduca) y puede renovar tokens indefinidamente. Cuando el token de acceso está a punto de caducar, el cliente puede enviar una solicitud de renovación para obtener un nuevo token de acceso enviando su token de actualización.

No entiendo algunas cosas, podría estar perdiendo algo:

Cómo los tokens de actualización de larga duración / que nunca caducan no arruinan la seguridad de tener tokens de acceso de corta duración.

Las cookies se pueden robar y usar hasta que caduquen. Los tokens tienen una vida corta, por lo que son más seguros, pero si proporciono un token de actualización de larga duración, pierdo la ventaja de usar tokens.

NOTA: Soy consciente de que los tokens de actualización se envían en el inicio de sesión inicial, por lo que no se pueden falsificar en cada solicitud, pero si se falsifican en la solicitud inicial, son vulnerables.

Respuestas a la pregunta(1)

Su respuesta a la pregunta