rom*_*ovs 4 oauth-2.0 jwt bearer-token
在我正在构建的应用程序中,我们使用JWT令牌作为OAuth Bearer令牌。
假设我们有一个名为的资源集合things,可通过thingID 寻址,例如。things/1,things/44等等。
当前,每当有人请求具有scope的访问令牌时things,我们都会列出用户对其具有的所有权利的所有权利的列表things:
{
"sub": "Romeo",
"scope": [ "things" ],
"things": {
"1": [ "read", "write", "delete" ],
"44": [ "read", "write"],
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
这可以正常工作,但是当用户有很多时,情况会变糟things。因为所有权限都在JWT令牌内编码,所以对于每个thing用户而言,令牌的确会变得更大。
这是不可扩展的,我需要为此找到解决方案。我可以一次将令牌的范围限定为thing一个,但是随后,用于管理的客户端的令牌管理就变成了地狱(我需要一个可以列出令牌的令牌,并且每个令牌必须保留一个令牌thing)。
我无法摆脱无记名令牌,因为我们的某些组件由于多种原因而无法与令牌发行者对话。
是否有解决此问题的标准方法?我正在考虑使令牌与things范围可互换,因此我可以将其中只有一部分的受限令牌交换things为其中有其他一部分的其他令牌things。
该信息不一定需要在令牌中。只要令牌包含对用户的引用,资源服务器就可以在某个后端服务/数据库中进行查找,以检索对应的权限,该权限与当时所请求的资源完全相关。
该服务不必是授权服务器本身。它也可以是数据库或任何类型的后端系统(可能与Authorization Server交谈的后端系统相同)。
| 归档时间: |
|
| 查看次数: |
2520 次 |
| 最近记录: |