Sto seguendo quanto segue nella mia App React / Node:
- Uso di
User Pools
per un'app Cognito che ho creato - Chiamando il / login endpoint con
response_type=token
nella mia app React - Una volta ricevuto il token JWT, lo passo al mio nodo / server espresso in un'intestazione (il mio server sta usando ssl)
- Sul server Node, utilizzando il pacchetto cognito-express per chiamare
cognitoExpress.validate(accessTokenFromClient, callback)
a convalidare il token - Se la chiamata ha esito positivo, salva i dettagli dell'utente (email ecc.) e il jwt in
localStorage
nell'app React
E poi, per ogni chiamata al mio server, sto ripetendo i passaggi 3 e 4 sopra (convalidare jwt) per assicurarmi che l'utente sia autenticato.
Le mie preoccupazioni con l'approccio sopra riportato sono:
-
Non sono sicuro che cognito-express stia effettivamente chiamando Cognito, o che sia solo decodifica il jwt e prendere una decisione sulla sua validità localmente
-
Ho provato a lasciare la sessione aperta durante la notte e mi aspettavo che la chiamata a
cognitoExpress.validate(accessTokenFromClient, callback)
non avrebbe funzionato (perché il jwt scade tra un'ora), ma non lo ha fatto. Significa che un token jwt scaduto è considerato un reclamo valido -
Se l'utente è stato autenticato e il suo JWT è scaduto, come posso aggiornare il JWT senza chiedergli di accedere nuovamente?