gpt4 book ai didi

session - OPenID 连接 : What to do with the access token

转载 作者:行者123 更新时间:2023-12-05 06:36:01 25 4
gpt4 key购买 nike

我有几个关于正确使用从 token 端点接收的访问 token 的问题。

  1. 我应该在哪里存储 token ?理想情况下,我想将它存储在 cookie 中,这样我就可以拥有无​​状态 session ,这将有助于我进行扩展。但是将访问 token 保存在 cookie 中会成为安全漏洞吗?

  2. 对于客户端发出的每个后续请求,我是否应该每次都检查访问 token ? 每次都检查 token 似乎是一个很大的开销。我看到的替代方法是创建一个 session 并在 session 保持期间保持用户身份验证。但是我认为这很丑陋,因为:

    • 我摆脱了“无国籍状态”
    • 如果用户从身份提供者注销,我不会知道,因为 session 仍在我这边维护

请让我知道我对我写的要点的理解是否正确,以及这两个问题的正确解决方案是什么。

最佳答案

问:我应该将 token 存储在哪里?

安全的地方!只能由向其颁发 token 的客户端访问。

在传输访问 token 时,始终必须使用 TLS。这是 RFC6749 规定的 - 10.3. Access Tokens

Access token credentials MUST only be transmitted using TLS

问:对于客户端发出的每个后续请求,我是否应该每次都检查访问 token ?

取决于您的应用。如果您无法维持 session ,则可以使用临时缓存。例如,这可以在端点之前的 Java 过滤器中实现。如果缓存不包含请求附带的访问 token 的有效性详细信息,那么您应该使用内省(introspection)来验证它。

但是要注意缓存。实现在很大程度上取决于您的应用程序。此外,您还可能面临失效问题。您应该了解使缓存条目无效的访问 token 生命周期。

问:如果用户从身份提供者注销,我不知道,因为 session 仍在我这边维护

Openid 连接定义 session 管理规范。这为您提供了从 OpenID 提供商识别最终用户 session 信息的选项。但是要使用这些,OP 应该支持规范实现。查看 here 中的规范

关于session - OPenID 连接 : What to do with the access token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49390271/

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