Qual è il posto migliore in cui archiviare i token Web JSON per l'autenticazione su una SPA con NodeJS e (ad esempio) AngularJS?NodeJS: dove archiviare JWT sul lato client? sessionStorage, localStorage o cookie?
Quello che ho ottenuto finora:
luoghi possibili:
- HTML5 Web bagagli (localStorage/sessionStorage)
- Cookies
Web Storage (localStorage/sessionStorage) è accessibile tramite JavaScript sullo stesso dominio. Ciò significa che qualsiasi JavaScript in esecuzione sul tuo sito avrà accesso all'archivio web e, a causa di ciò, può essere vulnerabile agli attacchi XSS (cross-site scripting).
localStorage ha un tempo di scadenza diversa, sessionStorage sarà accessibile solo mentre e dalla finestra che lo ha creato è aperto. localStorage dura fino a quando non lo elimini o l'utente lo elimina.
I cookie, se utilizzati con la bandiera del cookie HttpOnly, non sono accessibili tramite JavaScript e sono immuni a XSS. Tuttavia, i cookie sono vulnerabili alla falsificazione di richieste tra siti (CSRF).
Allora, qual è il modo più sicuro per memorizzare JWTs
Ho fornito una [risposta] (http://stackoverflow.com/a/40376819/204699) su questo argomento a una domanda correlata che potrebbe avere utili informazioni aggiuntive su tutte le possibilità. –