JWTを使用してRESTAPIを保護する目的で、いくつかの資料(このガイドやこの質問など)によると、JWTはlocalStorageまたはCookieのいずれかに保存できます。。私の理解に基づく:
- ローカルストレージはXSSの対象であり、通常、機密情報を格納することはお勧めしません。
- クッキー我々はXSSのリスクを軽減フラグ「のHttpOnly」を適用することができます。ただし、バックエンドのCookieからJWTを読み取る場合は、CSRFの対象になります。
したがって、上記の前提に基づいて、JWTをCookieに保存するのが最善です。サーバーへのすべてのリクエストで、JWTはCookieから読み取られ、ベアラースキームを使用してAuthorizationヘッダーに追加されます。サーバーは、(Cookieから読み取るのではなく)リクエストヘッダーのJWTを確認できます。
私の理解は正しいですか?もしそうなら、上記のアプローチにはセキュリティ上の懸念がありますか?それとも、実際には、そもそもlocalStorageの使用をやめることができますか?