【发布时间】:2015-11-02 08:07:30
【问题描述】:
我正在使用 Spring Security OAuth2 和 JWT 令牌。我的问题是:如何撤销 JWT 令牌?
正如这里提到的 http://projects.spring.io/spring-security-oauth/docs/oauth2.html,撤销是通过刷新令牌完成的。但这似乎不起作用。
【问题讨论】:
-
你不能,除非你在授权服务器上建立了一些令牌的记录。使用令牌的资源 API 还必须检查令牌是否被撤销。
-
你有没有发现什么??另外,如果我要建立令牌记录,我认为 Oauth 不是无状态的??
-
+1 到 Shaun 的 cmets,并补充说它通常会破坏使用 JWT(或按值)令牌这样做的意义。
-
Shaun 的评论是错误的,或者至少不完全正确。您必须区分访问令牌和刷新令牌。虽然使访问令牌无效没有意义,但您可以使用刷新令牌来做到这一点。在您的访问令牌到期时间为例如 15 并且刷新令牌可能为一周的情况下,您可以轻松地看到通过使刷新令牌无效可以实现的目标。这样您就不必向资源服务器传播任何内容,也不会失去无状态。
-
...这当然假设您只刷新身份验证服务器上的访问令牌。
标签: oauth-2.0 spring-security-oauth2