Voglio assicurarmi che il mio uso dei JWT nell'autenticazione sia corretto. Ci sono un paio di problemi che non capisco. Questa è la mia attuale comprensione:
- Quando un utente esegue l'accesso, il server creerà un JWT la cui terza parte è una firma creata utilizzando una chiave segreta.
- In ulteriori chiamate all'API, l'utente può includere il JWT nell'intestazione e il server sarà in grado di controllare la firma, utilizzando nuovamente la chiave segreta. Ciò significa che un utente malintenzionato che ha intercettato il JWT non può modificare il payload in alcun modo, perché se lo fa, la firma non corrisponderà.
Domande
- Se un utente malintenzionato riesce a impossessarsi di una JWT, non gli consentirà di utilizzare l'API come se fosse l'utente autenticato in origine?
- Stavo pensando di includere un timestamp di scadenza nel payload in modo che l'utente debba accedere occasionalmente. È questo il modo corretto di scadere del JWT?
Grazie in anticipo.