gpt4 book ai didi

security - 为什么我无法在浏览器中存储 oauth 刷新 token ?

转载 作者:行者123 更新时间:2023-12-02 15:31:19 25 4
gpt4 key购买 nike

我想在浏览器中存储 oauth 刷新 token 。我想将其存储在那里的原因是应用程序可以刷新访问 token 并让用户不间断地继续其 session 。我还想消除服务器上任何类型的缓存来存储 token 的需要,从而使其成为有状态的。

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

我认为没关系,因为:

  • token 将存储在 httpOnly 安全 session Cookie 中,因此它们不会容易受到 XSS 或中间人攻击,并且当用户关闭 session 时它们将被丢弃。
  • 与服务器的所有通信均通过 HTTPS 完成
  • 如果检测到可疑事件,刷新 token 可能会失效
  • 最重要的是,除非您知道只有服务器知道的客户端 key ,否则您无法使用刷新 token 。

我认为应该没问题是错误的吗?请解释原因!

最佳答案

将 token 存储在 httpOnly安全 cookie 中可能是您​​可以实现的最佳安全方式。有时的问题是,由于其他(非安全)原因,httpOnly cookie 不够好,因为 Javascript 显然没有访问权限(这就是重点)。因此,人们有时希望将 token 存储在其他浏览器存储中,例如 localStorage,或者稍微好一点的 JavaScript 对象中,这两种方式的安全性都明显低于 httpOnly cookie(但对于某些应用程序来说仍然足够好)。

将 token 存储在 httpOnly 和安全 cookie 中使其几乎等同于 session ID,并且其安全性在这方面也是相同的(显然其他方面可能不同)。

关于security - 为什么我无法在浏览器中存储 oauth 刷新 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com