Aggiornamento del token di accesso con token di accesso

1

Effettua l'invio per consentire a un'app client web (JavaScript) di aggiornare Toke di accesso utilizzando Token di accesso (non Token di aggiornamento ) che sta per scadere? Quali sono gli svantaggi dell'utilizzo di questo processo?

    
posta Maksim 09.09.2016 - 22:03
fonte

3 risposte

1

In effetti, devi farlo in tutti i normali processi. Altrimenti, stai costringendo i tuoi utenti a effettuare nuovamente il login completo.

Considerati i punti deboli dei token Web come JWT (ad esempio, soggetti a attacchi di cattura e riproduzione main-in-the-middle), è essenziale mantenere le scadenze dei token. Ciò riduce almeno le opportunità per un utente malintenzionato di ottenere un token valido (tramite un attacco MiTM) e quindi di utilizzarlo in un attacco di replay.

Se si desidera aumentare i tempi di scadenza dei token, è necessario aggiungere ulteriori protezioni al processo di comunicazione, ad esempio il trasferimento di dati di tipo di firma crittografati come gli indirizzi IP per ridurre il rischio di un attacco di riproduzione.

    
risposta data 10.09.2016 - 14:55
fonte
1

Con la logica sottostante vorrei sconsigliarlo .

Ho appena fatto una domanda simile:

Flusso implicito OAuth2: possibile Vettori di attacco del token di aggiornamento tramite CORS?

Abbiamo scelto di farlo in un modo diverso, semplice a causa del seguente problema: l'archiviazione del token di accesso nel flusso implicito potrebbe essere soggetta a compromissione e, come tale, non dovrebbe mai essere valida per più della sua durata effettiva.

Altrimenti puoi estrarre il token di accesso dalla SPA (app Web Javascript, applicazione per pagina singola) e utilizzarlo per altre cose, potendo sempre aggiornare il token utilizzando il token di accesso stesso. Questo di solito non è ciò che vorresti accadesse. Volete qualcosa in più per dimostrare che il chiamante è davvero quello che il token afferma di essere, ad es. una sessione IdP.

In genere, un token di accesso è utilizzabile non solo all'interno di un browser per effettuare chiamate CORS, ma può essere utilizzato con qualsiasi client http che deride il comportamento del browser, ad esempio anche in script. E l'apertura di tale endpoint offre un'API completamente utilizzabile da script con un token di accesso infinitamente valido (o: token di accesso infinitamente rinnovabile). A seconda del tuo caso d'uso, questo potrebbe essere un problema.

    
risposta data 01.12.2016 - 16:57
fonte
0

Se hai un token di accesso valido hai accesso a tutto ciò che normalmente avresti potuto fare con questo token di accesso. Quindi, se ti fidi di come hanno ottenuto questo token, puoi fidarti di loro quando ne vogliono un altro.

L'unico lato negativo sarebbe se lo stai usando per forzare il logout dopo un certo periodo di tempo.

    
risposta data 09.09.2016 - 23:18
fonte

Leggi altre domande sui tag