Esistono due modi per salvare le informazioni di autenticazione nel browser:
- Cookie
- Archiviazione Web HTML5
In ogni caso, devi avere fiducia che i browser siano implementati correttamente e che il sito Web A non possa in qualche modo accedere alle informazioni di autenticazione per il sito Web B. In tal senso, entrambi i meccanismi di archiviazione sono ugualmente sicuri. I problemi possono sorgere in termini di come li si usa però.
Se usi i cookie:
- Il browser invierà automaticamente le informazioni di autenticazione con ogni richiesta all'API. Questo può essere conveniente finché sai che sta accadendo.
- Devi ricordare che CSRF è una cosa e gestirla.
Se si utilizza l'archiviazione Web HTML5:
- Devi scrivere Javascript che gestisce esattamente quando e quali informazioni di autenticazione vengono inviate.
La grande differenza che interessa alle persone è che con i cookie, devi preoccuparti di CSRF. Per gestire correttamente CSRF, di solito è necessario un token di sincronizzazione aggiuntivo ".
I framework web all-in-one (come Grails, Rails, probabilmente asp.net) di solito forniscono un modo semplice per abilitare la protezione CSRF e aggiungono automaticamente roba token sincronizzatore nell'interfaccia utente. Ma se stai scrivendo un'interfaccia utente utilizzando un framework web solo client-side (come AngularJS o BackboneJS), dovrai scrivere alcuni Javascript per gestire il token di sincronizzazione. Quindi in questo caso potresti anche semplicemente adottare l'approccio di archiviazione Web HTML5 e preoccuparti solo di un token.
Alcune altre differenze sono discusse qui .
modifica una ricerca su google rivela questo per asp.net - chiamano il token di sincronizzazione un" token di verifica della richiesta ".