领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我代表社区很高兴地宣布 Spring Security 5.1.0.RC2 发布。此版本修复了 50 多个问题。
一如既往,我们期待收到您的 反馈!您可以在下面找到亮点
最初,Spring Security DSL 有两个 oauths
http
.oauth2Login()...
和
http
.oauth2()
.client()...
这有一定的道理,因为一个是身份验证机制,例如 formLogin
和 openidLogin
,而其他——client
、resourceServer
和 authorizationServer
——更像是 OAuth 2.0 的角色。
但最终,这种分离感觉像是多余的额外输入,因此我们决定扁平化层次结构,这意味着从本版本开始,我们现在拥有
http
.oauth2Login()...
.oauth2Client()...
.oauth2ResourceServer()
此 DSL 重构未带来任何功能或特性更改,只是减少了您的输入量。
团队一直在努力开发 WebClient,我们很高兴地宣布为 Servlet 和 WebFlux 应用程序推出一些新的 OAuth 2.0 WebClient 扩展。这些扩展使 OAuth 2.0 权限能够轻松地在机器之间无缝传输。
请在 OAuth 2.0 Web Client 主问题 中阅读所有详细信息。
OAuth 2.0 旅程的第一部分是规范合规性。此下一个版本引入了更多支持,用于配置 Spring Security 以与扩展或偏离规范的提供程序一起使用。
例如,现在可以 自定义客户端向授权服务器发出的令牌请求。
同样,资源服务器随附对 自定义从传入 JWT 解析的声明集 的支持。当应用程序需要添加或删除声明或需要以自定义方式解析声明时,这非常方便
NimbusJwtDecoderJwkSupport decoder = // ...
decoder.setClaimSetConverter(
MappedJwtClaimSetConverter
.withDefaults("custom-date", this::convertToInstant));
规范合规性之旅也在继续。在此版本中,添加了对收集和提供 从 OIDC 提供程序配置端点返回的任何元数据 的支持。
现在,ClientRegistration
带有 getConfigurationMetadata
,它与针对特定属性的方法并排放置,并返回提供程序属性的整个映射。
此版本还随附对 完全自定义 HTTP 请求 到各种 端点 的支持。
这对于配置超时、发现、缓存以及在与授权服务器通信时充分利用 RestTemplate 的复杂性非常方便。
还添加了对 通过策略派生 X.509 主体 的支持。
并且添加了对配置的支持 自定义环境变量,这些变量用于通知 LdapContext
的创建。
最初为基于 Servlet 的资源服务器发布的几个功能已在 RC2 中添加到 WebFlux 端。 响应式 功能 类似,但有一个小的但重要的例外。
在 Spring Security WebFlux 中,每个请求类型通常都有一个身份验证管理器。因此,在此版本中,WebFlux 附带了 资源服务器的身份验证管理器配置
http
.oauth2ResourceServer()
.authenticationManager(customAuthenticationManager())
这在应用程序需要对 Jwt
进行一些自定义转换以获得一组授予的权限的情况下很有帮助。
该 @RegisteredOAuth2AuthorizedClient
注释现在支持 WebFlux 中的 client_credentials 授权。
最后但并非最不重要的一点是,https 重定向支持 已添加到 WebFlux 中,可以通过 http.redirectToHttps()
或直接通过 HttpsRedirectWebFilter
访问。
并且我们已将我们的依赖项更新到最新版本,以确保我们的传递依赖项是最新的。