7

oauthリフレッシュトークンをブラウザに保存します。私がそこに保存したい理由は、アプリケーションがアクセストークンをリフレッシュし、ユーザーがセッションを中断することなく続けることができるようにするためです。また、サーバー上にトークンを格納するためのキャッシュを必要とせず、ステートフルにしたいと考えています。ブラウザにoauth更新トークンを保存できないのはなぜですか?

ブラウザにリフレッシュトークンを格納するのが安全でないため、間違っていると言われます。

私はので、それはOKだと思う。彼らは中央の攻撃にXSSや人間に対して脆弱であってはならないと、彼らは時にユーザー破棄されますので、トークンは、HTTPのみでセキュアなセッションクッキーを保存することでしょう

  • セッションを閉じます。
  • サーバーへのすべての通信は、不審な活動が
  • 最も重要なのは、あなただけ知られているであろう、クライアントの秘密を知っているしない限り、あなたはリフレッシュトークンを使用することはできませんが検出された場合にリフレッシュトークンが無効にすることができますHTTPS
  • を介して行われますサーバーによって。

私は間違いだと思いますか?理由を説明してください! HttpOnlyの安全なクッキーのトークンを保存する

答えて

4

は、おそらくあなたは、セキュリティワイズ達成することができます最善の方法です。問題は時々、Javascriptが明らかにアクセス権を持っていない(それがポイントです)ので、httpOnlyクッキーが他の(非セキュリティの)理由で十分ではないことがあります。だから、時にはlocalStorageのような他のブラウザストアにトークンを格納したい、あるいは若干優れている、JavaScriptオブジェクトで、両方ともhttpOnlyのCookieよりも安全性が低い(しかし、アプリケーションによっては十分かもしれない)。

トークンをhttpOnlyとセキュアなクッキーに格納すると、セッションIDとほぼ同等になり、そのセキュリティもこの点で同じになります(明らかに他の側面は異なる可能性があります)。

関連する問題