久等|全面拥抱Spring全新OAuth解决方案
2022-06-10 08:44:08 来源:程序员客栈
背景Spring 团队正式宣布 Spring Security OAuth 停止维护,该项目将不会再进行任何的迭代目前 Spring 生态中的 OAuth2 授权服务器是 Spring Authorization Server 已经可以正式生产使用作为 SpringBoot 3.0 的过渡版本 SpringBoot 2.7.0 过期了大量关于 SpringSecurity 的配置类,如沿用旧版本过期配置无法向上升级。迁移过程① Java 1.8 支持PIG 微服务开发平台v3.5 发布,正式支持Spring Authorization Server
以下全文 Spring Authorization Server 简称为: SAS
本文以PIG 微服务[1]开发平台为演示,适用于 Spring Security OAuth 2.3 <-> 2.5 的认证中心迁移
目前最新的 SAS 0.3 基于 Java 11 构建,低版本 Java 无法使用
经过和 Spring Security 官方团队的沟通 0.3.1 将继续兼容 Java 1.8
我们联合 springboot 中文社区编译了适配 java 1.8 的版本坐标如下
② 授权模式扩展io.springboot.security spring-security-oauth2-authorization-server 0.3.0
扩展支持密码模式,SAS 基于 oauth 2.1 协议不支持密码模式
扩展支持短信登录
③ Redis 令牌存储官方目前没有提供基于 Redis 令牌持久化方案
PIG 扩展 PigRedisOAuth2AuthorizationService 支持
④ Token 输出格式化使用自省令牌的情况下 默认实现为ku4R4n7YD1f584KXj4k_3GP9o-HbdY-PDIIh-twPVJTmvHa5mLIoifaNhbBvFNBbse6_wAMcRoOWuVs9qeBWpxQ5zIFrF1A4g1Q7LhVAfH1vo9Uc7WL3SP3u82j0XU5x
统一前缀::令牌类型::客户端ID::用户名::uuid
@BeanpublicOAuth2TokenGeneratoroAuth2TokenGenerator(){CustomeOAuth2AccessTokenGeneratoraccessTokenGenerator=newCustomeOAuth2AccessTokenGenerator();//注入Token增加关联用户信息accessTokenGenerator.setAccessTokenCustomizer(newCustomeOAuth2TokenCustomizer());returnnewDelegatingOAuth2TokenGenerator(accessTokenGenerator,newOAuth2RefreshTokenGenerator());}⑤ Token 输出增强使用自省令牌,默认情况下输出的 Token 格式
{"access_token":"xx","refresh_token":"xx","scope":"server","token_type":"Bearer","expires_in":43199}Token 增强输出关联用户信息
{"sub":"admin","clientId":"test","access_token":"xx","refresh_token":"xx","license":"https://pig4cloud.com","user_info":{"username":"admin","accountNonExpired":true,"accountNonLocked":true,"credentialsNonExpired":true,"enabled":true,"id":1,"deptId":1,"phone":"17034642999","name":"admin","attributes":{}}}⑥ 授权码模式个性化
- 优势:1. 用户状态实时更新 2. 减少网络调用提升性能
参考资料[1]PIG 微服务: https://github.com/pig-mesh/pig
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...