在我正在构建的应用程序中,我们使用JWT令牌作为OAuth承载令牌。假设我们有一个名为things
的资源集合,可通过thing
ID进行寻址,例如, things/1
,things/44
等不记名令牌变得太大
目前,每当有人请求与范围things
访问令牌,我们包括所有权限的列表,用户必须每次都有权利对things
的:
{
"sub": "Romeo",
"scope": [ "things" ],
"things": {
"1": [ "read", "write", "delete" ],
"44": [ "read", "write"],
}
// ...
}
这工作正常,但用户有很多things
事情变坏。由于所有权利都是在JWT令牌内部编码的,因此用户拥有的每个thing
令牌都会变得更大。
这不是可扩展的,我需要找到一个解决方案。我能范围令牌属于一个thing
的时间,但对于管理客户端,然后令牌管理变成了地狱(我需要一个令牌,可以列表令牌,并需要保持一个令牌每thing
)。
我无法摆脱承载的令牌,因为我们的一些组件不谈得来的令牌发放方出于多种原因。
有没有解决这个问题的标准方法?我在想与things
范围互换做记号,这样我就可以交换受限令牌只对那些在他们things
其他地区的令牌他们things
的一部分。
您是否找到解决此问题的解决方案? – smokedice