很快啊Spring Authorization Server又发新版本了,现在的版本是0.2.3 。本次都有什么改动呢?我们来了解一下 。
0.2.3版本特性本次更新的新特性不少 。
为公开客户端提供默认的设置根据RFC6479,包含授权码(authorization_code)授权并且客户端认证方式ClientAuthenticationMethod只有一种,为none的客户端都是公开(Public)客户端,反之就是机密(Confidential)客户端 。
在0.2.3中,为公开的客户端提供了客户端默认配置ClientSettings 。
【Spring Authorization Server 0.2.3发布,放出联合身份DEMO】if (this.clientSettings == null) {ClientSettings.Builder builder = ClientSettings.builder();if (isPublicClientType()) {// @formatter:offbuilder.requireProofKey(true).requireAuthorizationConsent(true);// @formatter:on}this.clientSettings = builder.build();}这里多说点,公开客户端现在不单纯是authorization_code模式授权,必须加上PKCE 。
OAuth2ClientAuthenticationProvider被细分Spring Authorization Server目前支持的客户端认证方式有:
client_secret_basicclient_secret_postclient_secret_jwtprivate_key_jwtnone
OAuth2ClientAuthenticationProvider 一手包办,现在职责分离了 。JwtClientAssertionAuthenticationProvider负责
private_key_jwt和client_secret_jwt,具体细节请关注我的专栏 。目前胖哥已经实现了完整的
private_key_jwt认证的DEMO 。ClientSecretAuthenticationProvider默认的
client_secret_basic和client_secret_post由它负责 。PublicClientAuthenticationProvider处理上面所说的公开客户端的认证方式 。
InMemoryOAuth2AuthorizationService优化主要优化了对未完成授权信息
OAuth2Authorization存储的淘汰策略,如果内存中存储的数量超过100,会把最老存储的信息淘汰掉 。增加了联合身份的DEMOFederated Identity Pattern (联合身份模式)举个例子,你同时对接了好几个身份提供商(IDP),你都需要跳不同的授权服务器页面并输入对应的密码,现在这些IDP可以都放在Spring Authorization Server下面,委托给Spring Authorization Server来处理身份认证授权 。这样你不用跳来跳去了,只需要维护Spring Authorization Server中IDP的关系了 。
请注意该功能不是Spring Authorization Server本身自带的功能 。
OAuth2TokenGenerator0.2.3抽象了
OAuth2Token的的生成模型:@FunctionalInterfacepublic interface OAuth2TokenGenerator<T extends OAuth2Token> {@Nullable T generate(OAuth2TokenContext context);}OAuth2授权码使用统一的Token生成模型授权码授权中的code的生成现在也需要由OAuth2TokenGenerator实现,实现类为OAuth2AuthorizationCodeGenerator 。OAuth2刷新Token使用统一的Token生成模型OAuth2刷新令牌
OAuth2RefreshToken现在同样需要由OAuth2TokenGenerator实现 。JWT的生成使用统一的模型现在JWT的生成也由
OAuth2TokenGenerator来实现,具体的实现类为JwtGenerator 。支持不透明令牌现在你可以自定义一个
OAuth2TokenGenerator并注入到Spring IoC来实现自定义的令牌生成逻辑,这意味着不透明令牌也可以通过自定义来实现 。令牌自省过滤器配置现在可以自定义0.2.3版本之前令牌自省的配置由
OAuth2AuthorizationServerConfigurer负责,现在它由独立的配置类OAuth2TokenIntrospectionEndpointConfigurer负责 。依赖升级0.2.3也对部分的依赖进行了升级,具体为:
- 更新到Reactor2020.0.16
- 更新到Spring Security 5.5.5
- 更新到Spring Framework 5.3.16
- 更新到Spring Boot 2.5.10
关注公众号:Felordcn获取更多资讯个人博客:https://felord.cn
博主:码农小胖哥
出处:felord.cn
本文版权归原作者所有,不可商用,转载需要声明出处,否则保留追究法律责任的权利 。如果文中有什么错误,欢迎指出 。以免更多的人被误导 。
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
