私が欲しいもの:
XSSを悪用するとJWTが盗まれる可能性があるため、JWTをlocalStorageに格納することは好ましくありません。これは、攻撃者が認証に使用する可能性があります。
クレームに十分なスペースがないため、JWTをhttpのみのcookieに格納することは好ましくありません。
可能な解決策は次のとおりです。
このように、JWTが盗まれる可能性がありますが、攻撃者がCookieのsessionIdも持っている場合を除いて、JWTは使用できません。また、Cookieでは認証に不十分なため、CSRFは不可能です。
私の推論に欠陥はありますか?同じことを達成する簡単な方法はありますか?
クライアント側のJSが読み取ることができない場合、httpのみのcookieは強力です。あなたの解決策はかなり健全なようです。私が行う唯一の推奨事項は、ReactJSのようなXSS保護を提供するクライアント側フレームワークを使用することです。または、すべてのHTML文字列入力をサニタイズします。 JWTに短い有効期限を追加することもできます。申し訳ありませんが、私はこれをコメントにしますが、十分な担当者がいません。