Releases: dromara/Sa-Token
Releases · dromara/Sa-Token
Sa-Token v1.30.0 发布,深度优化SSO模块
- 新增:新增集成 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-药水 的建议反馈 [重要]
- 重构:SSO 模块从核心包拆分为独立插件
- sa-token-jwt 模块升级:
- 重构:
sa-token-jwt
的创建,强制校验loginType [不向下兼容] - 重构:
StpLogicJwtForStateless
由重写 login 方法改为重写 createLoginSession - 重构:
SaJwtUtil
工具类不再吞并异常消息,且提供精细化异常 code 码。 - 重构:改名:StpLogicJwtForStyle -> StpLogicJwtForSimple
- 重构:改名:StpLogicJwtForMix -> StpLogicJwtForMixin
- 修复:修复
StpLogicJwtForSimple
模式下 Extra 数据可能受到旧 token 影响的bug
- 重构:
Sa-Token v1.29.0 发布,轻松搭建 OAuth2.0 服务
- 升级:sa-token-jwt插件可在登录时添加额外数据。
- 重构:优化Dubbo调用时向下传递Token的规则,可避免在项目启动时由于Context无效引发的bug。
- 重构:OAuth2 授权模式开放由全局配置和Client单独配置共同设定。
- 重构:OAuth2 模块部分属性支持每个 Client 单独配置。
- 重构:OAuth2 模块部分方法名修复单词拼写错误:converXxx -> convertXxx。
- 重构:修复 OAuth2 模块
deleteAccessTokenIndex
回收 token 不彻底的bug。 - 新增:OAuth2 模块新增
pastClientTokenTimeout
,用于指定 PastClientToken 默认有效期。 - 文档:常见报错章节增加目录树,方便查阅。
- 文档:优化文档样式。
- 新增:新增 BCrypt 加密。
- 修复:修复StpUtil.getLoginIdByToken(token) 在部分场景下返回出错的bug。
- 重构:优化OAuth2模块密码式校验步骤。
- 新增:新增Jackson定制版Session,避免timeout属性的序列化。
- 新增:SaLoginModel新增setToken方法,用于预定本次登录产生的Token。
- 新增:新增 StpUtil.createLoginSession() 方法,用于无Token注入的方式创建登录会话。
- 新增:OAuth2 与 StpUtil 登录会话数据互通。
- 新增:新增
StpUtil.renewTimeout(100);
方法,用于 Token 的 Timeout 值续期。 - 修复:修复默认dao实现类中
updateObject
无效的bug - 完善:完善单元测试。
Sa-Token v1.28.0 发布,新增 jwt、dubbo 集成插件
- 新增:新增
sa-token-jwt
插件,用于与jwt的整合 [重要] - 新增:新增
sa-token-context-dubbo
插件,用于与 Dubbo 的整合 [重要] - 文档:文档新增章节:Sa-Token 插件开发指南 [重要]
- 文档:文档新增章节:名称解释
- 优化:抽离
getSaTokenDao()
方法,方便重写 - 新增:单元测试新增多账号模式数据不互通测试
- 优化:优化在线文档,修复部分错误之处
- 优化:优化未登录异常抛出提示,标注无效的Token值
- 修复:修复单词拼写错误
getDeviceOrDefault
- 优化:优化 jwt 集成示例
- 文档:新增常见问题总结
Sa-Token v1.27.0 发布,新增 Thymeleaf 标签方言插件
- 升级:增强 SaRouter 链式匹配能力 [重要]
- 新增:新增插件 Thymeleaf 标签方言 [重要]
- 新增:@SaCheckPermission 增加 orRole 字段,用于权限角色“双重or”匹配 [重要]
- 升级:Cookie模式增加
secure
、httpOnly
、sameSite
等属性的配置 [重要] - 重构:重构SSO三种模式,抽离出统一的认证中心 [重要]
- 新增:新增 SaStrategy 策略类,方便内部逻辑按需重写 [重要]
- 新增:临时认证模块新增 deleteToken 方法用于回收 Token
- 新增:新增 kickout、replaced 等注销会话的方法,更灵活的控制会话周期 [重要]
- 新增:权限认证增加API:
StpUtil.hasPermissionAnd
、StpUtil.hasPermissionOr
- 新增:角色认证增加API:
StpUtil.hasRoleAnd
、StpUtil.hasRoleOr
- 新增:新增
StpUtil.getRoleList()
和StpUtil.getPermissionList()
方法 - 新增:新增 StpLogic 自动注入特性,可快速方便的扩展 StpLogic 对象
- 优化:优化同端互斥登录逻辑,如果登录时没有指定设备标识,则默认顶替所有设备下线
- 优化:在未登录时调用 hasRole 和 hasPermission 不再抛出异常,而是返回false
- 升级:升级注解鉴权算法,并提供更简单的重写方式
- 文档:新增常见报错排查,方便快速排查异常报错
- 文档:文档新增SSO单点登录与OAuth2技术选型对比
- 破坏式更新:
- [向下兼容] 废弃 SaTokenAction 接口,替代方案: SaStrategy
- [向下兼容] 移除
StpUtil.logoutByLoginId()
更换为StpUtil.kickout()
; - [不向下兼容] 侦听器 doLogoutByLoginId 与 doReplaced 方法移除 device 参数
- [不向下兼容] 侦听器 doLogoutByLoginId 方法重命名为 doKickout
Sa-Token v1.26.0 发布,新增 Http Basic 认证
- 优化:优化单点登录文档
- 新增:新增
Http Basic
认证 [重要] - 新增:文档新增跨域解决方案
- 文档:新增 Nginx 转发请求丢失uri的解决方案
- 文档:新增 SSO 自定义 API 路由示例 [重要]
- 示例:新增
SSO-Server
端前后端分离示例 [重要]
Sa-Token v1.25.0 发布,新增前后端分离架构接入SSO示例
- 新增:
SaRequest
新增getHeader(name, defaultValue)
方法,用于获取header默认值 - 新增:
SaRequest
添加forward
转发方法 - 新增:Readme新增源码模块介绍、友情链接、正在使用Sa-Token的项目
- 重构:重构SSO单点登录模块源码,增加可读性
- 新增:SSO配置表新增所属端说明
- 新增:SSO模式三新增账号资料同步示例 [重要]
- 新增:前后端分离模式下接入SSO的示例 [重要]
- 优化:优化SSO单点注销重定向逻辑
- 重构:重构SSO单点登录模块部分API
- 优化:优化SaQuickBean中过滤器处理逻辑
- 文档:优化文档样式,增加示例
- 文档:代码鉴权、注解鉴权、路由拦截鉴权,选择指南
- 文档:文档新增 SSO旧有系统改造指南
- 文档:SSO集成文档里添加API列表
- 文档:新增
Sa-Token-Study
链接,讲解 Sa-Token 源码涉及到的技术点 - 不兼容更新重构:
- 重构:修复
SaReactorHolder.getContent()
拼写错误:content
->context
- 重构:修复
Sa-Token v1.24.0 发布,微服务鉴权支持
- 修复:修复部分场景下Alone-Redis插件导致项目无法启动的问题
- 优化:增加对SpringBoot1.x版本的兼容性
- 新增:SaOAuth2Util新增checkScope函数,用于校验令牌是否具备指定权限
- 新增:OAuth2.0模块新增revoke接口,用于提前回收 Access-Token 令牌
- 新增:新增
Sa-Id-Token
模块,解决微服务内部调用鉴权 [重要] - 文档:新增OAuth2.0模块常用方法说明
- 优化:大幅度优化文档示例
Sa-Token v1.23.0 版本发布, OAuth2.0模块正式发布
- 新增:Sa-Token-OAuth2 模块正式发布 [重要]
- 修复:修复jwt集成demo无法正确注册StpLogic的bug
- 修复:修复登录时某些场景下Session续期可能不正常的bug
- 优化:代码注释优化,文档优化
Sa-Token v1.22.0 版本发布, 大幅度简化单点登录整合步骤
- 新增:SaSsoConfig 部分属性增加set连缀风格
- 优化:SaSsoUtil 可定制化底层的
StpLogic
- 新增:新增
SaSsoHandle
大幅度简化单点登录整合步骤 [重要] - 新增:新增Sa-Token在线测评,链接:https://ks.wjx.top/vj/wFKPziD.aspx [重要]
- 新增:Sa-Token-Quick-Login 插件新增拦截与放行路径配置
- 优化:大幅度优化文档示例
Sa-Token v1.21.0 版本发布, 最全单点登录
- 新增:新增Token二级认证 [重要]
- 新增:新增
Sa-Token-Alone-Redis
独立Redis插件 [重要] - 新增:新增SSO三种模式,彻底解决所有场景下的单点登录问题 [重要]
- 新增:新增多账号模式下,注解合并示例 [重要]
- 新增:新增
SaRouter.back()
函数,用于停止匹配返回结果 - 不兼容更新重构:
- 更改yml配置前缀:原
[spring.sa-token.]
改为[sa-token.]
,目前版本暂时向下兼容,请尽快更新
- 更改yml配置前缀:原