Zum Sichern der REST-API mithilfe von JWT kann das JWT gemäß einigen Materialien (wie diesem Handbuch und dieser Frage ) entweder in localStorage oder in Cookies gespeichert werden . Nach meinem Verständnis:
- localStorage unterliegt XSS und es wird im Allgemeinen nicht empfohlen, vertrauliche Informationen darin zu speichern.
- Mit Cookies können wir das Flag "httpOnly" anwenden, um das Risiko von XSS zu verringern. Wenn wir jedoch die JWT von Cookies im Backend lesen wollen, sind wir CSRF unterworfen.
Basierend auf der obigen Prämisse ist es am besten, wenn wir JWT in Cookies speichern. Bei jeder Anforderung an den Server wird das JWT aus Cookies gelesen und mithilfe des Bearer-Schemas im Authorization-Header hinzugefügt. Der Server kann dann die JWT im Anforderungsheader überprüfen (anstatt sie aus den Cookies zu lesen).
Ist mein Verständnis richtig? Wenn ja, hat der oben genannte Ansatz Sicherheitsbedenken? Oder können wir überhaupt erst mit localStorage davonkommen?