Procedura consigliata per l'archiviazione del lato client del token di autenticazione

3

Sto costruendo un sistema separato frontend / backend in cui l'utente 2FA esegue l'autenticazione e restituisce un JWT al lato client.

Sto usando angolare e per ora conservo quel token in $ window.sessionStorage e lo includo nell'intestazione di ogni richiesta per identificare / autorizzare / autenticare l'utente.

Esiste un archivio più sicuro di questo token sul lato client? In questo momento al logout elimino il lato client della chiave e lo contrassegno disabilitato nel database, ma se l'utente lascia il browser non è garantito che ciò accada fino alla scadenza del token (scade ora 6 ore).

Ogni idea su questo o su altri thread che ha già risposto è estremamente apprezzata!

    
posta bclark8923 08.01.2017 - 02:29
fonte

2 risposte

1

Forse potresti implementare il timeout di inattività sul server e se non vedi attività per un certo periodo di tempo (diciamo 10 minuti) segna la sessione scaduta.

    
risposta data 08.01.2017 - 04:10
fonte
0

[EDITED] I JWT sono pensati per autenticare le applicazioni stateless e non per le sessioni, ad esempio, dovrai creare un meccanismo di invalidazione per invalidare i singoli token, una funzione che è richiesta se stai usando un'applicazione basata sulla sessione 1 . Le migliori pratiche per garantire una JWT sono spiegate da OWASP JWT Cheat Sheet . Per l'archiviazione sicura, è necessario tenere in considerazione quanto segue:

  • Archiviazione del JWT nel contenitore sessionStorage, non come cookie.
  • Quando vuoi usare il token, usa JS per aggiungerlo come "portatore".
  • Impronta il tuo token per impedire attacchi di sidejacking.
risposta data 11.04.2018 - 11:26
fonte

Leggi altre domande sui tag