繁体   English   中英

WSO2 - 之前发布的 oAuth2 令牌即使没有过期也无效

[英]WSO2 - Previously issued oAuth2 tokens invalid even if not expired

我有以下使用相同客户端 ID 和客户端密码的场景:

获取令牌 1 并致电 API A - 按预期工作。

获取令牌 2 并致电 API B - 按预期工作。

Go 返回并使用令牌 1 调用 API A。我收到错误消息“无效的 JWT 令牌。确保您提供了正确的安全凭证”。

这是否意味着一旦发布新令牌,所有以前的令牌都会失效? 即使它还没有到期?

如果我使用不同的客户端 ID 和客户端密码,我就不会遇到这个问题。

添加 scope 没有任何区别。

当您使用应用程序订阅一个 API 并生成令牌时,您可以使用相同的令牌调用另一个使用相同应用程序订阅的 API。

如果为新订阅的API重新生成token,那么之前的token就会失效。

我相信这是 WSO2 APIM 和 IS 的 JWT 令牌流的设计。 在给定时间,对于单个客户端 ID、秘密对,应该只有一个活动令牌 JWT。

理想情况下,由于令牌没有过期,它应该返回相同的令牌,但是由于 JWT 的大小,将整个令牌存储在持久层中是不切实际的。 相反,仅记录 JTI 值,仅凭它,KM 无法在第二个令牌调用中生成相同的令牌。 相反,它会撤销前一个令牌并生成一个新令牌。

来自我的 DevOps 团队:长话短说,设备范围没有被列入白名单。 该配置以前不存在。 我们将配置添加到 Identity Server,现在设备范围已列入白名单。

我现在可以通过为每个调用添加一个唯一的范围来实现我的目标。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM