为什么我无法在浏览器中存储oauth刷新令牌?

我想在浏览器中存储一个oauth刷新令牌。 我想在那里存储它的原因是,应用程序可以刷新访问令牌并让用户不中断地继续其会话。 我也想消除对服务器上任何类型的缓存的需要,以存储令牌,从而使它有状态。

我被告知将刷新标记存储在浏览器中是错误的,因为它不安全。

我认为这是可以的,因为:

  • 令牌将存储在httpOnly中,安全会话cookie,因此它们不应受到XSS或中间人的攻击,并且在用户关闭会话时将被丢弃。
  • 所有与服务器的通信都通过HTTPS完成
  • 如果检测到可疑活动,刷新令牌可能失效
  • 最重要的是,除非您知道仅由服务器知道的客户机密钥,否则不能使用刷新标记。
  • 我认为它应该没问题,我错了吗? 请解释为什么!


    将标记存储在httpOnly中,安全Cookie可能是您可以实现安全智能的最佳选择。 有时候,问题在于,由于其他(非安全性)原因,httpOnly cookie不够好,因为Javascript显然无法访问(这就是要点)。 因此,人们有时想在其他浏览器商店(如localStorage)中存储令牌,或者在JavaScript对象中稍微好一些,这两种方式的安全性都比httpOnly cookie低(但对某些应用程序而言可能足够好)。

    将标记存储在httpOnly和安全cookie中使得它与会话标识非常相似,并且其安全性在这方面也是相同的(显然其他方面可能不同)。

    链接地址: http://www.djcxy.com/p/93901.html

    上一篇: Why can't I store an oauth refresh token in the browser?

    下一篇: How to display file while still in find