Skip to content

Releases: dromara/Sa-Token

Sa-Token v1.39.0 发布,大幅重构 OAuth2 模块

28 Aug 02:05
Compare
Choose a tag to compare
  • 核心:
    • 升级:重构注解鉴权底层,支持自定义鉴权注解了。 [重要]
    • 修复:修复前端提交同名 Cookie 时的框架错读现象。
  • 插件:
    • 修复:修复 sa-token-quick-login 插件无法正常拦截的问题。
  • SSO:
    • 优化:优化 sso-server 前后端分离 demo 代码。
    • 优化:优化 sso-server 前后端分离时的跳转流程。
  • OAuth2:
    • 重构:sa-token-oauth2 模块整体重构。 [重要] [不向下兼容]
    • 新增:新增支持自定义 scope 处理器。 [重要]
    • 新增:新增支持自定义 grant_type[重要]
    • 新增:新增 scope 划分等级。 [重要]
    • 新增:新增 oidc 协议支持。 [重要]
    • 新增:新增支持默认 openid 生成算法。 [重要]
    • 新增:新增 OAuth2 注解鉴权支持。 [重要]
    • 修复:redirect_url 参数校验增加规则:不允许出现@字符、*通配符只能出现在最后一位。关联 issue [重要]
    • 优化:优化代码注释、异常提示信息。
    • 升级:兼容 Http Basic 提交 client 信息的场景。感谢 github @CuiGeekYoung 提交的pr。
    • 升级:兼容 Bearer Token 方式提交 access_tokenclient_token
    • 升级:适配拆分式路由。
    • 新增:将 scope 字段改为 List 类型。
    • 重构:抽离 SaOAuth2Strategy 全局策略接口,定义一些创建 token 的算法策略。
    • 新增:新增 addAllowUrls addContractScopes 方法,简化 SaClientModel 构建代码。
    • 重构:抽离 SaOAuth2Dao 接口,负责数据持久。
    • 重构:抽离 SaOAuth2DataLoader 数据加载器接口。
    • 重构:抽离 SaOAuth2DataGenerate 数据构造器接口。
    • 重构:抽离 SaOAuth2DataConverter 数据转换器接口。
    • 重构:抽离 SaOAuth2DataResolver 数据解析器接口。
    • 重构:重构 SaOAuth2Handle -> SaOAuth2ServerProcessor 更方便的逻辑重写。
    • 重构:重构 PastToken -> LowerClientToken
    • 新增:新增 state 值校验,同一 state 参数不可重复使用。
    • 优化:完善 SaOAuth2Util 相关方法,更方便的二次开发。
    • 新增:新增部分异常类,细分异常 ClassType
    • 优化:优化 sa-token-oauth2 异常细分状态码。
  • 文档:
    • 新增:新增数据结构说明。
    • 新增:新增不同 client 不同登录页说明。
    • 优化:优化文档 [将权限数据放在缓存里] 示例。
    • 新增:新增 从 Shiro、SpringSecurity、JWT 迁移 示例。 [重要]

Sa-Token v1.38.0 发布,大幅重构 SSO 模块

12 May 08:05
Compare
Choose a tag to compare
  • sa-token-core:
    • 修复:修复 StpUtil.getSessionByLoginId(xx) 参数为 null 时创建无效 SaSession 的 bug。
    • 优化:在 SpringBoot 3.x 版本下错误的引入依赖时将得到启动失败的提示。 (感谢Uncarbon提交的pr)
    • 优化:进一步优化权限校验算法,hasXxx API 只会返回 true 或 false,不再抛出异常。
    • 重构:InvalidContextException 更名为 SaTokenContextException[已做向下兼容处理]
    • 重构:彻底删除 NotPermissionException 异常中的 getCode() 方法。 [过期API清理]
    • 重构:重构 SaTokenException 类方法 throwBy->notTruethrowByNull->notEmpty[已做向下兼容处理]
    • 重构:StpUtil.getSessionBySessionId 提供的 SessionId 为空时将直接抛出异常,而不是再返回null。[不向下兼容]
    • 新增:新增 Http Digest 认证模块简单实现。 [重要]
    • 重构:更换 HttpBasic 认证模块包名。 [已做向下兼容处理]
    • 新增:新增 StpUtil.getLoginDeviceByToken(xxx) 方法,用于获取任意 token 的登录设备类型。
    • 新增:新增 StpUtil.getTokenLastActiveTime() 方法,获取当前 token 最后活跃时间。
    • 修复:修复“当登录时指定 timeout 小于全局 timeout 时,Account-Session 有效期为全局 timeout”的问题。
    • 优化:首次获取 Token-Session 时,其有效期将保持和 token 有效期相同,而不是再是全局 timeout 值。
    • 移除:移除 SaSignConfigisCheckNonce 配置项。 [不向下兼容]
    • 新增:SaSignTemplate#checkRequest 增加“可指定参与签名参数”的功能。
    • 重构:将部分加密算法设置为过期。
    • 重构:优化 token 读取策略,空字符串将视为没有提交token。
    • 修复:sa-token-bom 补全缺失依赖。
    • 优化:二级认证校验之前必须先通过登录认证校验。
    • 修复:修复 StpUtil.getLoginId(T defaultValue) 传入 null 时无法正确返回值的bug。
  • sa-token-sso:
    • 优化:SSO 模式三,API 调用签名校验时,限定参与签名的参数列表,更安全。
    • 新增:新增 autoRenewTimeout 配置项:是否在每次下发 ticket 时,自动续期 token 的有效期(根据全局 timeout 值)
    • 新增:SaSsoConfig 新增配置 isCheckSign(是否校验参数签名),方便本地开发时的调试。
    • 新增:SaSsoConfig 新增配置 currSsoLogin,用于强制指定当前系统的 sso 登录地址。
    • 重构:整体重构 sa-token-sso 模块,将 server 端和 client 端代码拆分。 [重要] [不向下兼容]
    • 新增:SaSsoConfig 配置项 ssoLogoutCall 重命名为 currSsoLogoutCall[已做向下兼容处理]
    • 重构:模式三在校验 Ticket 时,也将强制校验签名才能调通请求。[不向下兼容]
    • 新增:新增 maxRegClient 配置项,用于控制模式三下 client 注册数量。
    • 新增:新增不同 SSO Client 配置不同 secret-key 的方案。 [重要]
    • 重构:匿名 client 将不再能解析出所有应用的 ticket。[不向下兼容]
    • 新增:新增 homeRoute 配置项:在 /sso/auth 登录后不指定 redirect 参数的情况下默认跳转的路由。
    • 优化:优化登录有效期策略,SSO Client 端登录时将延续 SSO Server 端的会话剩余有效期。
    • 新增:新增 checkTicketAppendData 策略函数,用于在校验 ticket 后,给 sso-client 端追加返回信息。
    • 新增:SSO章节文档新增用户数据同步/迁移方案的建议。
    • 修复:修复利用@字符可以绕过域名允许列表校验的漏洞。 [漏洞修复]
    • 修复:禁止 allow-url 配置项 * 符号出现在中间位置,因为这有可能导致校验被绕过。 [漏洞修复]
  • 新增插件/示例:
    • 新增:新增插件 sa-token-hutool-timed-cache,用于整合 Hutool 缓存插件 TimedCache。 [重要]
    • 新增:新增 SSM 架构整合 Sa-Token 简单示例。 [重要]
    • 新增:新增 beetl 整合 Sa-Token 简单示例。 [重要]
  • 文档:
    • 部分章节将 @Autowired 更换为更合适的 @PostConstruct
    • 新增过滤器执行顺序更改示例。
  • 其它:
    • 优化:将跨域处理demo拆分为独立仓库。
    • 优化:解决 springboot 集成 sa-token 后排除 jsckson 依赖无法成功启动的问题。
    • 优化:解决 sa-token-jwt 模块重复设置 keyt 秘钥问题。(感谢KonBAI提交的pr)
    • 优化:jwt模式 token 过期后,抛出的异常描述是 token 已过期,而不再是 token 无效。
    • 修复:补齐 sa-token-spring-aop 模块中遗漏监听的注解。

Sa-Token v1.37.0 发布,轻量级权限认证框架

18 Oct 05:27
Compare
Choose a tag to compare
  • 修复:修复路由拦截鉴权可被绕过的问题。 [漏洞修复]
  • 重构:未登录时调用鉴权 API 抛出未登录异常而不再是无权限异常。
  • 优化:优化 SaTokenDao 组件更换时的逻辑。
  • 文档:提供 SpringBoot3.x 路由匹配出错的解决方案。

Sa-Token v1.36.0 发布,轻量级权限认证框架

21 Sep 20:03
Compare
Choose a tag to compare
  • sa-token-core:
    • 修复:API接口签名校验参数接口NPE问题,增加必须参数的非空校验处理。
    • 新增:加密工具类新增 sha384、sha512 实现。 感谢 @若初995 提交的pr。 [重要]
    • 修复:SaFoxUtil.vagueMatch() 正则匹配的一些问题。 [漏洞修复]
    • 修复:SaRouter.match() 路由匹配的一些问题。 [漏洞修复]
  • 其它:
    • 优化:sa-token-alone-redis 去掉不必要的配置项判断。
    • 新增:sa-token-solon-plugin 增加对 solon 网关的支持。
    • 新增:新增第三方插件专用仓库:sa-token-three-plugin
    • 升级:sa-token-solon-plugin 增加对 solon 网关的支持。
  • 文档:
    • 新增:新增开启全局懒加载时不能注入上下文处理器的处理方案 。
    • 新增:新增 RefreshToken 示例。 [重要]
    • 新增:文档新增 sa-token 小助手,可在线实时技术提问。 [重要]
    • 优化:其它一些优化。
  • 新增插件:
    • sa-token-redisson-jackson2:通用 redisson 集成方案 (spring, solon, jfinal 等都可用)

Sa-Token v1.35.0.RC 发布,新增动态 active-timeout 能力

26 Jun 09:49
Compare
Choose a tag to compare
  • sa-token-core:

    • 优化:前端未提供 token 时,getTokenSession() 将抛出未登录异常,而不是返回 null。 [不向下兼容]
    • 新增:SaSession 新增字段:typeloginTypeloginIdtoken
    • 重构:全局过滤器抽离 SaFilter 统一接口。
    • 重构:全局过滤器 includeListexcludeList 改为 public,同时移除对应的 getter 方法。 [不向下兼容]
    • 重构:将全局过滤器的 BeforeAuth 认证设为不受 includeListexcludeList 的限制,所有请求都会进入。 [不向下兼容]
    • 新增:新增循环生成 token 的算法,用于确保 Token 的唯一性。 [重要]
    • 重构:API 接口签名所有方法均迁移至 core 核心模块。 [重要]
    • 新增:新增彩色日志打印,更方便的分辨不同日志等级。 [重要]
    • 重构:重构概念:临时有效期 -> token 最低活跃频率,过期后 token 冻结。
    • 重构:重构概念:User-Session -> Account-Session
    • 新增:新增 getTokenTimeout(String token) 方法,获取任意 token 剩余有效期。
    • 优化:在登录时增加判断当前 StpLogic 是否支持 extra 扩展参数模式,如果不支持则打印警告信息。
    • 新增:NotLoginException 增加新场景值 -6、-7,提供更精确的未登录异常描述信息。
    • 新增:TokenSign 新增 tag 挂载参数,可在登录时方便的存储一些客户端特有数据。 [重要]
    • 新增:新增 SaStrategy#createStpLogic,用于指定动态创建 StpLogic 时的算法策略。
    • 新增:新增 @SaCheckOr 批量注解鉴权:只要满足其中一个注解即可通过验证。 [重要]
    • 重构:重命名:SaStrategy.me -> SaStrategy.instance
    • 重构:在登录时强制性检查账号 id 是否为异常值,如果是则登录失败。
    • 重构:重构概念:activity-timeout -> active-timeout[重要]
    • 新增:新增动态 active-timeout 能力,可在每次登录时指定 active-timeout 值。 [重要]
    • 优化:将 SaStrategy 所有策略声明抽离为单独的函数式接口。
    • 新增:增加为 StpLogic 单独配置 SaTokenConfig 参数的能力。
  • sa-token-sso:

    • 修复:在 SSO 模式三中 ticket 校验地址配错时,会出现 NPE 的问题
    • 新增:新增 getData 接口配置,在模式三拉取数据时可以传递任意参数。 [重要]
    • 重构:模式三秘钥配置更改:sa-token.sso.secretkey=xxx -> sa-token.sign.secret-key=xxx[不向下兼容]
    • 重构:模式三校验签名方法更改:SaSsoUtil.checkSign(req) -> SaSignUtil.checkRequest(req)[不向下兼容]
    • 新增:新增 sa-token.sso.mode 配置项,用于约定此系统使用的 SSO 模式。
    • 优化:优化校验 ticket 的逻辑。
  • sa-token-jwt:

    • 修复:jwt 令牌的签名类型可以被篡改的问题。 [重要]
  • 其它:

    • 优化:所有模块优化注释,更方便开发者阅读源码。
    • 优化:在所有 .java 文件中添加 license 头说明。
    • 优化:修复大部分代码警告。
    • 新增:新增 thymeleaf 标签方言命名空间,增强 ide 代码提示。 [重要]
    • 新增:定义 sa-token-bom 包,方便引入 sa-token 时对齐版本。
    • 新增:sa-token-dubbo3 插件新增代码示例。
    • 新增:新增跨域文章和示例:Header 参数版和第三方 Cookie 版。 [重要]
    • 修复:修复 sa-token-alone-redis 在低版本 springboot 下无法启动成功(缺少 username 属性)的问题。
  • 新增插件:

    • 新增:新增 sa-token-context-dubbo3 插件。 感谢 @qiudaozhang 提交的 pr。 [重要]
  • 文档:

    • 新增:部分常见报错排查。
    • 新增:首页图片增加懒加载效果,节省流量。
    • 新增:增加 Cookie 配置示例。
    • 修复:整理 demo 结构目录结构,修复不正确的路径说明。
    • 新增:新增 api-sign 模块文档。 [重要]
  • 简化包名 [重要] [不向下兼容]

    • sa-token-dao-redis -> sa-token-redis
    • sa-token-dao-redis-jackson -> sa-token-redis-jackson
    • sa-token-dao-redis-fastjson -> sa-token-redis-fastjson
    • sa-token-dao-redis-fastjson2 -> sa-token-redis-fastjson2
    • sa-token-dao-redisson-jackson -> sa-token-redisson-jackson
    • sa-token-dao-redisx -> sa-token-redisx
    • sa-token-context-dubbo -> sa-token-dubbo
    • sa-token-context-dubbo3 -> sa-token-dubbo3
    • sa-token-context-grpc -> sa-token-grpc

Sa-Token v1.34.0 发布,适配 SpringBoot3

11 Jan 06:41
Compare
Choose a tag to compare
  • 新增:新增 SpringBoot3.x 集成插件,感谢 @jry 提供的参考思路。 [重要]
  • 新增:新增 sa-token-dao-redisson-jackson 插件,感谢 @疯狂的狮子Li 提交的pr。 [重要]
  • 新增:Alone-Redis 新增集群配置能力,感谢 @appleOfGray 提交的pr。 [重要]
  • 升级:升级 Sign 签名模块,增加部分重载方法。
  • 重构:SaSignTemplate#joinParams 更名为 joinParamsDictSort[不向下兼容]
  • 升级:升级临时 Token 认证模块,可指定 service 参数。
  • 删除:彻底删除过期类 SaAnnotationInterceptorSaRouteInterceptor
  • 删除:SSO 模块移除过期类 SaSsoHandle 类。
  • 新增:SSO 模块增加 ticket 的 client 锁定功能,解决部分场景下的 ticket 劫持问题。 [重要]
  • 修复:修复 SSO 模式2,在 client 端配置 is-share=false 时无法单点注销的问题。
  • 修复:修复 SSO 模式3 部分场景下注销时无法正常回退页面的问题。
  • 修复:修复 OAuth2 模块示例 getClientModel 方法 clientId 写错的问题。
  • 重构:使用 jwt-simple 模式后 is-share 恒等于 false,无论是否有设定 setExtra 数据。
  • 修复:修复源码注释和文档的部分不合适之处。

Sa-Token v1.33.0 发布,新增全局 Log 模块

16 Nov 13:28
Compare
Choose a tag to compare
  • 重构:重构异常状态码机制。 [重要]
  • 重构:重构 sa-token-sso 模块异常码改为 300 开头,sa-token-jwt 异常码改为 302 开头。 [不向下兼容]
  • 新增:新增全局 Log 模块。 [重要]
  • 重构:SaTokenListenerForConsolePrint 改名 SaTokenListenerForLog。 [不向下兼容]
  • 修复:修复多线程下 SaFoxUtil.getRandomString() 随机数重复问题。
  • 文档:文档优化。

Sa-Token v1.32.0 发布,新增 vue2 & vue3 对接 SSO 认证中心示例

28 Oct 03:53
Compare
Choose a tag to compare
  • 修复:修复 sa-token-dao-redis-fastjson 插件多余序列化 timeout 字段的问题。
  • 修复:修复 sa-token-dao-redis-fastjson 插件 session.getModel 无法反序列化实体类的问题。
  • 修复:修复 sa-token-quick-login 插件指定拦截排除路由不生效的问题。
  • 修复:修复 sa-token-alone-redis + sa-token-dao-redis-fastson 时 Redis 无法分离的问题。
  • 修复:修复在配置了 cookie.path 后,注销时无法彻底清除 Cookie 的问题。
  • 升级:SaFoxUtil.getValueByType() 新增对 char 类型的转换。
  • 新增:新增 sa-token-dao-redis-fastjson2 插件。 [重要]
  • 新增:新增全局配置 is-write-header,控制登录后是否将 Token 写入响应头。 [重要]
  • 新增:二级认证模块新增指定业务标识能力。 [重要]
  • 重构:Id-Token 模块更名为 Same-Token。 [重要] [不向下兼容]
  • 重构:重构会话查询参数作用:由start=-1时查询全部会话,改为 start=0,size=-1 时查询全部。 [不向下兼容]
  • 重构:SaManager.getStpLogic("type") 默认当对应type不存在时不再抛出异常,而是自动创建并返回。
  • 重构:重构SSO模块,静态式API改为实例式:SaSsoHandle -> SaSsoProcessor。 [重要] [不向下兼容]
  • 重构:SSO-Server 端单点注销地址修改 /sso/logout -> /sso/signout,避免与 SSO-Client 端同 path 的冲突。 [不向下兼容]
  • 新增:文档新增 SSO 平台中心模式示例,跳连接进入子系统。 [重要]
  • 新增:新增SSO前后端分离集成示例 vue2 & vue3 版本。 [重要]
  • 重构:SSO 示例项目 http 请求工具改为 Forest。
  • 新增:SSO模块文档新增单个项目同时搭建 sso-serversso-client 的示例。 [重要]
  • 新增:SSO模块文档新增一个项目同时搭建两个 sso-server 服务 的示例。 [重要]
  • 文档:在线文档新增代码示例。
  • 文档:在线文档增加全局调色功能。
  • 文档:[自定义 SaTokenContext 指南] 章节新增对三种模型的解释。
  • 文档:新增多账号体系混合鉴权代码示例。
  • 文档:文档增加 Gradle 依赖方式和 properties 风格配置。
  • 新增:新增 sa-token-dependencies,统一定义依赖版本。 [重要]

Sa-Token v1.31.0 发布,轻量级 Java 权限认证框架

09 Sep 00:37
Compare
Choose a tag to compare
  • 文档:新增优秀开源案例展示。
  • 文档:新增博客展示,欢迎大家投稿。
  • 新增:新增 SaInterceptor 综合拦截器。 [重要] [不向下兼容]
  • 新增:新增 新增 @SaIgnore 忽略鉴权注解。 [重要]
  • 新增:新增插件 sa-token-dao-redis-fastjson,感谢 @sikadai 提交的pr。 [重要]
  • 新增:新增插件 sa-token-context-grpc,感谢 @LiYiMing666 提交的pr。 [重要]
  • 重构:SaSession 取消 tokenSignList 的 final 修饰符。
  • 新增:SaSession 添加 setTokenSignList 方法。
  • 重构:TokenSign 新增 setValuesetDevice 方法。
  • 修复:修复多账号模式下不能正确重置 StpLogic 的问题。
  • 修复:修复 SaSession 对象中 TokenSign 判断有可能空指针的问题。
  • 修复:解决当权限码为 null 时可能带来的空指针问题。
  • 新增:新增 StpUtil.getExtra(tokenValue, key) 方法,用于获取任意 token 的扩展参数。
  • 优化:优化 StpLogic#logoutByTokenValue 方法逻辑,精简代码。
  • 重构:SaTokenConfig 配置类字段 isReadHead 改为 isReadHeader[不向下兼容]
  • 修复:修复部分场景下踢人下线会抛出异常 非Web上下文无法获取Request 的问题。
  • 新增:新增方法 StpLogic#getAnonTokenSession,可在未登录情况下安全的获取 Token-Session。 [重要]
  • 新增:新增 SaApplication 对象,用于全局作用域存取值。 [重要]
  • 重构:将 SaTokenListener 改为事件发布订阅模式,允许同时注册多个侦听器。 [重要] [不向下兼容]
  • 重构:StpUtil.login(id) 不再强制校验账号是否禁用,需要手动校验。 [不向下兼容]
  • 重构:DisableLoginException 更换名称为 DisableServiceException[不向下兼容]
  • 新增:新增对账号限制、分类封禁、阶梯封禁功能。 [重要]
  • 新增:会话查询API增加反序获取会话方式。
  • 新增:SSO模块增加 server-url 属性,用于简化各种 url 配置。 [重要]
  • 修复:修复单点登录模块 ssoLogoutCall 配置项无效的问题。
  • 优化:优化 SaSsoHandle.checkTicket(ticket, currUri); 方法,使其不提供 currUri 参数时将不再注册单点注销回调。
  • 修复:修复 SaOAuth2Handle 类中 doLogin 方法没有使用 Param.pwd 常量的问题。
  • 新增:新增 SaOAuth2Util.checkClientTokenScope(clientToken, scopes) 方法,校验 Client-Token 是否含有指定 Scope。
  • 删除:删除 sa-token-jwt 模块过期 class。
  • 重构:sa-token-jwt 模块依赖改为 hutool-jwt,并升级版本为 5.8.5。
  • 重构:sa-token-jwt 模块改为 Util + Template 形式,方便针对部分代码重写。 [重要]
  • 新增:在线文档添加API手册。
  • 重构:sa-token-oauth2 模块密码模式新增 client_secret 参数校验。[不向下兼容]
  • 新增:集成 jacoco 插件,核心包单元测试覆盖率提高至 90% 以上。
  • 优化:开源案例分离专属仓库:Awesome-Sa-Token

Sa-Token v1.30.0 发布,深度优化SSO模块

10 May 01:53
Compare
Choose a tag to compare
  • 新增:新增集成 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.xquick-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 模块升级:
    • 重构:sa-token-jwt 的创建,强制校验loginType [不向下兼容]
    • 重构:StpLogicJwtForStateless 由重写 login 方法改为重写 createLoginSession
    • 重构:SaJwtUtil 工具类不再吞并异常消息,且提供精细化异常 code 码。
    • 重构:改名:StpLogicJwtForStyle -> StpLogicJwtForSimple
    • 重构:改名:StpLogicJwtForMix -> StpLogicJwtForMixin
    • 修复:修复 StpLogicJwtForSimple 模式下 Extra 数据可能受到旧 token 影响的bug