Allo scopo di proteggere l'API REST utilizzando JWT, secondo alcuni materiali (come questa guida e questa domanda ), il JWT può essere memorizzato in localStorage o Cookie . Sulla base della mia comprensione:
- localStorage è soggetto a XSS e generalmente non è consigliabile archiviarvi informazioni sensibili.
- Con i cookie possiamo applicare il flag "httpOnly" che mitiga il rischio di XSS. Tuttavia, se dobbiamo leggere il JWT dai cookie sul back-end, siamo quindi soggetti a CSRF.
Quindi, in base alla premessa di cui sopra, sarà meglio se memorizziamo JWT nei cookie. Ad ogni richiesta al server, il JWT verrà letto dai cookie e aggiunto nell'intestazione di autorizzazione utilizzando lo schema Bearer. Il server può quindi verificare il JWT nell'intestazione della richiesta (invece di leggerlo dai cookie).
La mia comprensione è corretta? In caso affermativo, l'approccio di cui sopra ha qualche problema di sicurezza? O in realtà possiamo semplicemente farla franca usando localStorage in primo luogo?