【发布时间】:2019-10-27 08:13:12
【问题描述】:
谁能帮忙?
我有一个多客户端身份验证服务器,它的工作是为特定客户端(客户端是服务或应用程序)创建 JWT。每个客户端(服务)都有一个clientID和ClientSecret。
身份验证服务器使用相同的令牌密钥对所有 JWT 进行签名。例如,我想停止在系统 B 上从系统 A 使用 JWT。从技术上讲,所有 JWT 都使用相同的密钥进行签名,因此这是一个潜在问题。
我想知道我是否可以利用受众和发行人?
发行者将是身份验证服务器,对吗?因此,对于两个不同的令牌,发行者将是相同的 - 所以这可能不是我想要的。
另一件事是观众,我可以用它来识别 JWT 属于谁 - 即.. 系统 A 或系统 B - 这意味着我可以知道天气一个试图在另一个上使用并拒绝它。
我不知道这是否是最好的方法?此外,观众的格式是一个字符串,但通常包含系统的 url - 这是正确的吗?
实际上,我正计划使用受众来区分访问令牌和刷新令牌。
我对实现这一点的最佳方式有点困惑。
我的意思是,我可以继续创建自己的自定义声明,但我会考虑使用内置声明 - 如果这是正确使用的话。
有人有这方面的经验吗?
所以总结一下。
如果将令牌提供给系统 A 或系统 B,它应该能够被识别
如果一个令牌是访问令牌或刷新令牌,它也应该是有目的的。
有什么想法吗?
提前感谢您提供任何见解。
【问题讨论】:
标签: oauth oauth-2.0 jwt access-token refresh-token