gpt4 book ai didi

session 与访问 token + 刷新 token

转载 作者:行者123 更新时间:2023-12-05 03:31:28 28 4
gpt4 key购买 nike

看起来有很多博客文章反对在浏览器中以任何方式存储 token (严格禁止 localstorage/sessionStorage/in-memory 变量)。建议的唯一方法是使用服务器端 session + HTTPS + httpOnly cookie。那么,下面可以或多或少地被认为是一种推荐方式吗?

  1. 对基于浏览器的客户端使用服务器端 session + HTTPS + httpOnly + SameSite=严格 cookie(根本不支持旧浏览器)+ 仅支持基于 application/json 的 POST/PUT 请求
  2. 为移动客户端使用访问 token + 刷新 token + PKCE

最佳答案

这几乎是最佳实践状态:

  • 浏览器客户端没有安全的地方来存储 token ,因此使用最新的 SameSite=strict 仅限 HTTP cookie。如果使用只有服务器知道的 key 对它们进行强加密,则它们可以包含 token 。

  • 移动客户端不能轻易使用 cookie,但可以使用加密的安全存储来保存 token 。还可以使用 AppAuth 模式并考虑使用任何恶意应用都无法滥用的 https 重定向 URI。

  • API 接收 JWT 访问 token 并在每次请求时验证它们。请注意,反向代理可以位于 API 前面以管理解密收到的 cookie 并将它们转发给 API,如 this article 中所述。 .

当然,您应该了解这些建议背后的原因。 Curity 有一些文章提供了更多信息,以备不时之需:

另见 Guides ,因为正确实现流程和使用好的库也是重要因素。

关于 session 与访问 token + 刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70643645/

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