Sa-Token 1.30.0 更新,深度优化 SSO 模块

来源: 投稿
2022-05-10 10:51:00

 

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、分布式 Session 会话、单点登录、OAuth2.0 等一系列权限相关问题。

框架针对踢人下线、自动续签、前后台分离、分布式会话…… 等常见业务进行 N 多适配,通过 Sa-Token,你可以以一种极简的方式实现系统的权限认证部分。

Sa-Token v1.30.0 版本更新包括以下内容:

  • 新增:新增集成 Web-Socket 鉴权示例。[重要]

  • 新增:新增集成 Web-Socket(Spring封装版) 鉴权示例。

  • 新增:新增 jfinal 集成包 sa-token-jfinal-plugin [重要]

  • 新增:新增 jboot 集成包 sa-token-jboot-plugin (感谢 @nxstv 提交的pr)

  • 修复:修复整合 sa-token-jwt Style 模式时,StpUtil.getExtra("key") 无效的bug

  • 升级:升级 sa-token-context-dubbo dubbo版本:2.7.11 -> 2.7.15

  • 升级:借助 flatten-maven-plugin 统一版本号定义 (感谢 @ruansheng8 提交的pr) [重要]

  • 修复:修复在 springboot 2.6.x 下 quick-login 插件循环依赖无法启动的问题

  • 优化:sa-token-spring-aop 依赖改为 sa-token-core,避免在webflux环境下启动报错的问题

  • 优化:源码注释 设备标识 改为 设备类型 更符合语义

  • 修复:解决部分协议下 dubbo 参数变为小写导致 Id-Token 鉴权无效的问题

  • 升级:单元测试升级为 JUnit5

  • 新增:新增 maxLoginCount 配置,指定同一账号可同时在线的最大数量 [重要]

  • 升级:彻底删除 SaTokenAction 接口,完全由 SaStrategy 代替

  • 新增:新增 sa-token-dao-redisx 插件,感谢 @noear 提交的pr [重要]

  • 优化:增加 parseToken 未配置 jwt 密钥时的异常提示,感谢 @BATTLEHAWK00 提交的pr

  • 优化:sso,oauth2 插件中调用配置类使用 getter 方法,感谢 @Naah 提交的pr

  • 新增:新增 json 转换器模块

  • 重构:SaTokenListener#doLogin 方法新增 tokenValue 参数 [不向下兼容]

  • 升级:SpringBoot 相关组件依赖版本升级至 2.5.12

  • 文档:在线文档所有 AjaxJson 改为 SaResult

  • 文档:“多账号认证” -> 改为 “多账户认证”

  • 文档:部分章节新增动态演示图 [重要]

  • 升级:顶级异常类 SaTokenException 增加 code 异常细分状态码。详见 [重要]

注意升级:受异常细分状态码影响,NotPermissionException 类中 getCode() 方法改为 getPermission()。[不向下兼容]

SSO 模块升级:

  • 重构:SSO 模块从核心包拆分为独立插件 sa-token-sso [重要]

  • 优化:SSO模式三单点注销回调方法中,注销语句改为:stpLogic.logout(loginId) 更符合情景

  • 修复:解决 sso 构建认证地址时,部分 Servlet 版本内部实现不一致带来的双 back 参数问题。

  • 升级:SSO 模块提供精细化异常处理

  • 重构:SSO 模式三接口 /sso/checkTicket、/sso/logout,更改响应体格式 [不向下兼容]

  • 优化:SSO 模式三单点注销搭建示例增加 try-catch,提高容错性

  • 优化:SsoUtil.singleLogout 改为 SsoUtil.ssoLogout,且无需再提供 secretkey 参数 [不向下兼容]

  • 升级:将 SSO 模式三的接口调用改为签名式校验。[重要] [不向下兼容]

  • 新增:新增 SSO 模式三下无 sdk 的对接示例, 感谢 @Sa-药水 的建议反馈 [重要]

sa-token-jwt 模块升级:

  • 必威体育app手机版重构:sa-token-jwt 的创建,强制校验loginType [不向下兼容]

  • 重构:StpLogicJwtForStateless 由重写 login 方法改为重写 createLoginSession

  • 重构:SaJwtUtil 工具类不再吞并异常消息,且提供精细化异常 code 码。

  • 重构:改名:StpLogicJwtForStyle -> StpLogicJwtForSimple

  • 重构:改名:StpLogicJwtForMix -> StpLogicJwtForMixin

  • 修复:修复 StpLogicJwtForSimple 模式下 Extra 数据可能受到旧 token 影响的bug

代码仓库:http://gitee.com/dromara/sa-token

框架功能结构图:

展开阅读全文
10 收藏
分享
2 评论
10 收藏
分享
返回顶部
顶部