【发布时间】:2023-03-22 21:37:01
【问题描述】:
当客户端使用 OAuth 访问令牌向资源服务发送请求时, 资源服务如何检查访问令牌?资源服务器是否针对某些实体验证访问令牌?
【问题讨论】:
标签: oauth-2.0
当客户端使用 OAuth 访问令牌向资源服务发送请求时, 资源服务如何检查访问令牌?资源服务器是否针对某些实体验证访问令牌?
【问题讨论】:
标签: oauth-2.0
当资源服务器收到带有 OAuth 访问令牌的请求时,它有两个选项来验证访问令牌。
第一个选项是联系授权服务器的token introspection endpoint。此端点是由 RFC7662 定义的标准端点,它是 OAuth 2.0 规范的一部分。根据该规范。资源服务器可以向授权服务器发送令牌自省请求。如果访问令牌有效(例如:- 尚未过期),则响应将包含 active=true 状态。请通过 RFC7662 了解其工作原理。
第二个选项是使用自包含令牌。在这种方法中,授权服务器发布基于 JWT 的访问令牌。一旦资源服务器收到这个令牌,它就可以通过 JWT 的内容来识别访问令牌的有效性。
【讨论】:
使用 oauth2 scopes 对特定资源的特定操作验证令牌
资源服务器自己执行验证的方式depends on the implementation,最简单的方法是使用“自包含令牌”,例如JWT 的,因此您可以从令牌本身获取范围,而无需额外查找。
如果您的服务器使用传统的 http REST 语义公开资源,最简单的实现是使用 http 中间件/过滤器,它只检查资源 uri 和 http 动词以确定操作的有效性
【讨论】: