Oauth2:资源服务器应该如何知道访问令牌是不是有效?

Posted

技术标签:

【中文标题】Oauth2:资源服务器应该如何知道访问令牌是不是有效?【英文标题】:Oauth2: how should the resource server know if the access token is valid?Oauth2:资源服务器应该如何知道访问令牌是否有效? 【发布时间】:2015-05-17 01:19:18 【问题描述】:

我正在使用 Spring 为我们的移动 API 实现 Ouath2 身份验证。到目前为止它可以工作,但我不知道我应该如何将资源服务器分开。所以我有一个身份验证服务器,它使用密码授权类型发出令牌和刷新令牌。这意味着用户将登录移动应用程序,该应用程序向身份验证服务器发送客户端 ID/客户端密码以及用户的 凭据,这会为具有适当 (ROLE_USER) 权限的用户生成访问令牌和刷新令牌。另一个基于 Web 的客户端适用于执行相同操作并获得 ROLE_ADMIN 权限等的管理员。

到目前为止效果很好。

现在,如果任何客户端向资源服务器发送请求,会发生什么?资源服务器是否应该检查令牌的有效性?如果真是这样,那么是以哪种方式?还是授权服务器将令牌复制到资源服务器的数据库中?

【问题讨论】:

【参考方案1】:

如果您@EnableResourceServer,您将获得一个检查访问令牌的过滤器。它需要与身份验证服务器共享TokenStore。就是这样才能让某些东西发挥作用。

【讨论】:

你能告诉我是哪个过滤器吗? github.com/spring-projects/spring-security-oauth/blob/master/…

以上是关于Oauth2:资源服务器应该如何知道访问令牌是不是有效?的主要内容,如果未能解决你的问题,请参考以下文章

oauth2.0如何传递访问令牌

Oauth2 Spring安全资源服务器和独立Auth服务器

如何在不访问身份验证服务器的情况下验证 OAuth2 访问令牌 (JWT)

如何通过令牌而不是cookie中的jsession访问spring oauth2客户端后端api?

使用Spring启动进行Oauth2身份验证

Spring oauth2 插入井号而不是 ?在使用令牌重定向到资源服务器时