Estoy haciendo lo siguiente en mi aplicación React / Node:
- Usar el
User Pools
para una aplicación de Cognito que he creado - Llamar al extremo / login con
response_type=token
en mi aplicación React - Una vez que recibo el token JWT, lo paso a mi nodo / servidor express en un encabezado (mi servidor está usando ssl)
- En el servidor Node, use el paquete cognito-express para llamar a
cognitoExpress.validate(accessTokenFromClient, callback)
a validar el token - Si la llamada es exitosa, guardar los detalles del usuario (correo electrónico, etc.) y el jwt en
localStorage
en la aplicación React
Y luego, para cada llamada a mi servidor, estoy repitiendo los pasos 3 y 4 anteriores (validando jwt) para garantizar que el usuario esté Autentificado.
Mis preocupaciones con el enfoque anterior son:
-
No estoy seguro de si cognito-express en realidad está llamando a Cognito, o simplemente está decodificando JWT y tomar una decisión sobre su validez localmente
-
Intenté dejar la sesión abierta durante la noche, y esperaba que la llamada a
cognitoExpress.validate(accessTokenFromClient, callback)
fallara (porque el jwt caduca en una hora), pero no lo hizo. ¿Esto significa que un token jwt caducado se considera una reclamación válida? -
Si el usuario fue Autenticado y su JWT ha caducado, ¿cómo puedo actualizar el JWT sin pedirle que vuelva a iniciar sesión?