Quiero asegurarme de que mi uso de JWT en la autenticación sea correcto. Hay un par de cuestiones que no entiendo. Este es mi entendimiento actual:
- Cuando un usuario inicia sesión, el servidor creará un JWT cuya tercera parte es una firma que se crea con una clave secreta.
- En otras llamadas a la API, el usuario puede incluir el JWT en el encabezado, y el servidor podrá verificar la firma, nuevamente utilizando la clave secreta. Esto significa que un atacante que ha interceptado el JWT no puede cambiar la carga útil de ninguna manera, porque si lo hacen, la firma no coincidirá.
Preguntas
- Si un atacante logra obtener un JWT, ¿esto no les permitirá usar la API como si fuera el usuario que se había autenticado originalmente?
- Estaba pensando en incluir una marca de tiempo de caducidad en la carga útil para que el usuario tuviera que iniciar sesión ocasionalmente. ¿Es esta la manera correcta de caducar el JWT?
Gracias de antemano.