OAuth 2.0 资源服务器
Spring Security 支持通过提供两种形式的 OAuth 2.0 Bearer Tokens 来保护端点:
- JWT
- 不透明令牌
这在应用程序将其权限管理委托给授权服务器(例如 Okta 或 Ping Identity)的场景下非常方便。资源服务器可以咨询此授权服务器来对请求进行授权。
备注
关于 JWT 的完整工作示例可在 Spring Security 仓库 中找到。
章节总结
📄️ JWT
大多数资源服务器的支持功能都集成在 spring-security-oauth2-resource-server 中。然而,对 JWT 的解码和验证支持位于 spring-security-oauth2-jose 模块中,这意味着要构建一个支持 JWT 编码的 Bearer Token 的资源服务器,这两个模块都是必需的。
📄️ 不透明令牌
如《JWT最小依赖项》所述,大多数资源服务器支持功能都集成在 spring-security-oauth2-resource-server 中。然而,除非您提供自定义的 ReactiveOpaqueTokenIntrospector,否则资源服务器将回退到使用 SpringReactiveOpaqueTokenIntrospector。这意味着仅需 spring-security-oauth2-resource-server 即可构建支持不透明承载令牌的最小化可运行资源服务器。
📄️ 多租户
当资源服务器根据不同的租户标识符,采用多种策略来验证承载令牌时,该资源服务器即被视为多租户。
📄️ Bearer Tokens
默认情况下,资源服务器会在 Authorization 头部中查找承载令牌。不过,您可以验证此令牌。