在 Mule 中撤销 OAuth 令牌

Revoking OAuth tokens in Mule

我已经使用 OAuth connector 在 Mule 中配置了一个 OAuth 提供程序,并且我在用户登录时向他们提供访问令牌,他们为他们登录的每台设备获得一个新的访问令牌,我的问题当用户进入忘记密码或重设密码的场景时,最好的做法是什么?

在这种情况下,他想撤销对所有已获得访问权限的设备的访问权限,因此这基本上意味着撤销所有给出的访问令牌...答案 here 似乎表明上述内容是一种有效的方法,所以现在我的问题归结为 mule 中的最佳实现技术。

Mule 确实允许通过 <oauth2-provider:revoke-token /> 撤销令牌,但使用它需要我维护针对每个用户给出的访问令牌列表,我想知道这是否是处理 mule 中事情的唯一方法?

这是 Mulesoft 对查询必须说的。

Unfortunately, current code does not have(or expose) the methods to:

  • revoke all tokens granted to a user
  • get all tokens granted to a user

他们已决定为此记录一个增强功能,这将在适当的时候进行,一旦我有了它,就会用 link 更新答案。问题来了 link

我在 pass 中实现这个的方法是使用对象存储来维护针对给定用户名发布的令牌列表,每次用户登录时都需要在该列表中附加一个新令牌。

如果用户启动密码重置或忘记密码流程,则针对用户提取所有令牌并为每个令牌调用 <oauth2-provider:revoke-token />

如果您对以上内容有任何建议,请告诉我。