Lo scenario è: hai un token di aggiornamento che è valido per un periodo di tempo più lungo e un token di accesso che è valido per un periodo di tempo più breve.
Il setup: c'è un client, un application server e un server di autenticazione.
- Il client memorizza il token di accesso.
- Il server delle applicazioni memorizza il token di aggiornamento.
- Il server di autenticazione distribuisce il token di aggiornamento + accesso.
Uno dei vantaggi è che un token di accesso rubato può essere utilizzato solo per il tempo in cui è valido.
Supponiamo che un hacker rubi il token di accesso che è valido per 30 minuti. Quando l'hacker effettua una richiesta con il token di accesso rubato valido ma scaduto dopo 30 minuti, il server dell'applicazione lo aggiorna con il token di aggiornamento, quindi l'hacker ottiene un nuovo token di accesso valido e non scaduto.
Come può essere evitato?