gpt4 book ai didi

oauth-2.0 - 不记名 token 变得太大

转载 作者:行者123 更新时间:2023-12-02 23:59:45 34 4
gpt4 key购买 nike

在我正在构建的应用程序中,我们使用 JWT token 作为 OAuth 承载 token 。

假设我们有一个名为 things 的资源集合,可通过 thing ID 进行寻址,例如。 things/1things/44

目前,每当有人请求范围为 things 的访问 token 时,我们都会包含用户对其有权访问的每个 things 拥有的所有权限的列表:

{
"sub": "Romeo",
"scope": [ "things" ],
"things": {
"1": [ "read", "write", "delete" ],
"44": [ "read", "write"],
}
// ...
}

这工作正常,但当用户有很多东西时,事情就会变得糟糕。由于所有权限都编码在 JWT token 内,因此对于用户拥有的每件事物, token 都会变得更大。

这是不可扩展的,我需要为此找到解决方案。我可以将 token 的范围限制为一次属于单个事物,但是管理客户端的 token 管理就变成了 hell (我需要一个可以列出的 token token ,并且需要为每个事物保留一个 token )。

我无法摆脱承载 token ,因为我们的一些组件由于多种原因无法与 token 发行者通信。

有解决这个问题的标准方法吗?我正在考虑使 things 范围内的 token 可以互换,这样我就可以将仅包含 things 一部分的受限 token 交换为包含其他部分的其他 token 。其中的东西

最佳答案

该信息不一定需要位于 token 中。只要 token 包含对用户的引用,资源服务器就可以查找某些后端服务/数据库以检索相应的权限,这些权限与当时所请求的资源完全相关。

该服务不需要是授权服务器本身;它也可以是数据库或任何类型的后端系统(可能与授权服务器对话的系统相同)。

关于oauth-2.0 - 不记名 token 变得太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39466066/

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