Releases: dromara/Sa-Token
Releases · dromara/Sa-Token
Sa-Token v1.42.0 发布,新增 API Key 模块、TOTP、Mock 上下文、Temp-Token 反查
- core:
- 新增: 新增
API Key
模块。 [重要] - 新增: 新增
TOTP
实现。 [重要] - 重构:重构
TempToken
模块,新增 value 反查 token 机制。 [重要] - 升级: 重构升级
SaTokenContext
上下文读写策略。 [重要] - 新增: 新增 Mock 上下文模块。 [重要]
- 删除: 删除二级上下文模块。
- 新增: 新增异步场景使用 demo。 [重要]
- 新增: 新增
Base32
编码工具类。 - 新增:新增
CORS
跨域策略处理函数,提供不同架构下统一的跨域处理方案。 - 新增:
renewTimeout
续期方法增加 token 终端信息有效性校验。 - 新增: 全局配置项
cookieAutoFillPrefix
:cookie 模式是否自动填充 token 前缀。 - 新增: 全局配置项
rightNowCreateTokenSession
:在登录时,是否立即创建对应的Token-Session
。 - 优化:优化
Token-Session
获取算法,减少缓存读取次数。 - 新增:
SaLoginParameter
支持配置SaCookieConfig
,以配置 Cookie 相关参数。 - 修改:防火墙校验过滤器的注册顺序 修改为 -102。
- 新增:防火墙
hook
注册新增registerHookToFirst
、registerHookToSecond
方法,以便更灵活的控制 hook 顺序。
- 新增: 新增
- 插件:
- 新增:
sa-token-quick-login
插件支持Http Basic
方式通过认证。
- 新增:
- 单元测试:
- 补全:补全
Temp Token
模块单元测试。
- 补全:补全
- 文档:
- 补全:补全赞助者名单。
- 修复:修复
Thymeleaf
集成文档不正确的依赖示例说明。 - 修复:修复
unionid
章节错误描述。 - 优化:采用更细致的描述优化SSO模式三单点注销步骤。
- 新增:登录认证文档添加 Cookie 查看步骤演示图。
- 新增:多账号模式新增注意点:运行时不可更改
LoginType
。 - 新增: 多账号模式QA:在一个接口里获取是哪个体系的账号正在登录。
- 新增:新增QA:解决低版本
SpringBoot (<2.2.0)
引入 Sa-Token 报错的问题。 - 新增:新增QA:前后端一体项目下,在拦截未登录进入登录页面时,如何登录完成后原路返回?
- 新增:新增QA:Sa-Token 集成 Redis 如何集群?
- 新增:新增QA:如何自定义框架读取 token 的方式?
- 新增:新增QA:修改
hosts
文件无效可能原因排查。 - 新增:新增QA:如何防止 CSRF 攻击。
- 新增: “异步 & Mock 上下文” 章节。
- 升级:升级“自定义 SaTokenContext 指南”章节文档。
v1.41.0
- core:
- 修复:修复
StpUtil.setTokenValue("xxx")
、loginParameter.getIsWriteHeader()
空指针的问题。 fix: #IBKSM0 - 修复:将
SaDisableWrapperInfo.createNotDisabled()
默认返回值封禁等级改为 -2,以保证向之前版本兼容。 - 新增:新增基于 SPI 的插件体系。 [重要]
- 重构:JSON 转换器模块。 [重要]
- 新增:新增 serializer 序列化模块,控制
Object
与String
的序列化方式。 [重要] - 重构:重构防火墙模块,增加 hooks 机制。 [重要]
- 新增:防火墙新增:请求 path 禁止字符校验、Host 检测、请求 Method 检测、请求头检测、请求参数检测。重构目录遍历符检测算法。
- 重构:重构
SaTokenDao
模块,将序列化与存储操作分离。 [重要] - 重构:重构
SaTokenDao
默认实现类,优化底层设计。 - 新增:
isLastingCookie
配置项支持在全局配置中定义了。 - 重构:
SaLoginModel
->SaLoginParameter
。 [不向下兼容] - 重构:
TokenSign
->SaTerminalInfo
。 [不向下兼容] - 新增:
SaTerminalInfo
新增extraData
自定义扩展数据设置。 - 新增:
SaLoginParameter
支持配置isConcurrent
、isShare
、maxLoginCount
、maxTryTimes
。 - 新增:新增
SaLogoutParameter
,用于控制注销会话时的各种细节。 [重要] - 新增:新增
StpLogic#isTrustDeviceId
方法,用于判断指定设备是否为可信任设备。 - 新增:新增
StpUtil.getTerminalListByLoginId(loginId)
、StpUtil.forEachTerminalList(loginId)
方法,以更方便的实现单账号会话管理。 - 升级:API 参数签名配置支持自定义摘要算法。
- 新增:新增
@SaCheckSign
注解鉴权,用于 API 签名参数校验。 - 新增:API 参数签名模块新增多应用模式。 fix: #IAK2BI, #I9SPI1, #IAC0P9 [重要]
- 重构:全局配置
is-share
默认值改为 false。 [不向下兼容] - 重构:踢人下线、顶人下线默认将删除对应的 token-session 对象。
- 优化:优化注销会话相关 API。
- 重构:登录默认设备类型值改为 DEF。 [不向下兼容]
- 重构:
BCrypt
标注为@Deprecated
。 - 新增:
sa-token-quick-login
支持SpringBoot3
项目。 fix: #IAFQNE、#673 - 新增:
SaTokenConfig
新增replacedRange
、overflowLogoutMode
、logoutRange
、isLogoutKeepFreezeOps
、isLogoutKeepTokenSession
配置项。
- 修复:修复
- OAuth2:
- 重构:重构 sa-token-oauth2 插件,使注解鉴权处理器的注册过程改为 SPI 插件加载。
- 插件:
- 新增:
sa-token-serializer-features
插件,用于实现各种形式的自定义字符集序列化方案。 - 新增:
sa-token-fastjson
插件。 - 新增:
sa-token-fastjson2
插件。 - 新增:
sa-token-snack3
插件。 - 新增:
sa-token-caffeine
插件。
- 新增:
- 单元测试:
- 新增:
sa-token-json-test
json 模块单元测试。 - 新增:
sa-token-serializer-test
序列化模块单元测试。
- 新增:
- 文档:
- 新增:QA “多个项目共用同一个 redis,怎么防止冲突?”
- 优化:补全 OAuth2 模块遗漏的相关配置项。
- 优化:优化 OAuth2 简述章节描述文档。
- 优化:完善 “SSO 用户数据同步 / 迁移” 章节文档。
- 修正:补全项目目录结构介绍文档。
- 新增:文档新增 “登录参数 & 注销参数” 章节。
- 优化:优化“技术求助”按钮的提示文字。
- 新增:新增
preview-doc.bat
文件,一键启动文档预览。 - 完善:完善 Redis 集成文档。
- 新增:新增单账号会话查询的操作示例。
- 新增:新增顶人下线 API 介绍。
- 新增:新增 自定义序列化插件 章节。
- 其它:
- 新增:新增
sa-token-demo/pom.xml
以便在 idea 中一键导入所有 demo 项目。 - 删除:删除不必要的
.gitignore
文件 - 重构:重构
sa-token-solon-plugin
插件。 - 新增:新增设备锁登录示例。
- 新增:新增
Sa-Token v1.40.0 发布,新增大量特性
- core:
- 新增:新增
Cookie
自定义属性支持。 fix: #693 [重要] - 新增:
SaFirewallStrategy
防火墙策略:请求 path 黑名单校验、非法字符校验、白名单放行。 [重要] - 修复:新增对分号字符的 path 路径校验。 参考:Sa-Token对url过滤不全存在的风险点 [漏洞修复]
- 修复: 修复部分场景下登录后已存在的
token-session
没有被续期的问题。 fix: #IA8U1O - 优化:优化
active-timeout
的检查与续期操作,同一请求内只会检查与续期一次。 - 修复:
SaFoxUtil.joinSharpParam
方法中不正确的注释。 - 新增:封禁模块新增支持实时从数据库查询数据。
- 新增:新增
- SSO:
- 优化:SSO 示例代码的跨域处理由原生方式改为 Sa-Token 过滤器模式。
- 新增:文档新增 “SSO整合 - NoSdk 模式与非 java 项目” 章节。
- 新增:“不同 SSO Client 配置不同秘钥” 章节增加部分异常的处理方案提示,fix: #IAFZXL
- 删除:sso demo 示例中部分不必要的代码内容。
- OAuth2:
- 新增:OAuth2 Client 前端测试页。 [重要]
- 新增:
UnionId
联合id 实现。 [重要] - 新增:
oauth2-server
端前后台分离示例与文档。 [重要] - 新增:
OIDC
模式nonce
随机数响应校验。 merge: pr311 - 修复:错误方法名
deleteGrantScope(String state)
->deleteState(String state)
。 - 修复:全局配置项
sa-token.oauth2-server.oidc.iss
无效的问题。 - 新增:回收 Refresh-Token 方法:
revokeRefreshToken
、revokeRefreshTokenByIndex
。 - 新增:为
CodeModel
、AccessTokenModel
、RefreshTokenModel
、ClientTokenModel
添加createTime
字段,以记录该数据的创建时间。 - 新增:为 Access-Token、Client-Token 添加
grantType
字段,以记录该数据的授权类型。 - 新增:
SaOAuth2Util.getCode
等方法,以更方便的获取、校验授权码。
- 插件:
- 文档:
Sa-Token v1.39.0 发布,大幅重构 OAuth2 模块
- 核心:
- 升级:重构注解鉴权底层,支持自定义鉴权注解了。 [重要]
- 修复:修复前端提交同名
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_token
和client_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 模块
- 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-
>notTrue
、throwByNull-
>notEmpty
。[已做向下兼容处理] - 重构:
StpUtil.getSessionBySessionId
提供的SessionId
为空时将直接抛出异常,而不是再返回null。[不向下兼容] - 新增:新增
Http Digest
认证模块简单实现。 [重要] - 重构:更换
HttpBasic
认证模块包名。 [已做向下兼容处理] - 新增:新增
StpUtil.getLoginDeviceByToken(xxx)
方法,用于获取任意 token 的登录设备类型。 - 新增:新增
StpUtil.getTokenLastActiveTime()
方法,获取当前 token 最后活跃时间。 - 修复:修复“当登录时指定 timeout 小于全局 timeout 时,
Account-Session
有效期为全局 timeout”的问题。 - 优化:首次获取
Token-Session
时,其有效期将保持和 token 有效期相同,而不是再是全局 timeout 值。 - 移除:移除
SaSignConfig
的isCheckNonce
配置项。 [不向下兼容] - 新增:
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 发布,轻量级权限认证框架
- 修复:修复路由拦截鉴权可被绕过的问题。 [漏洞修复]
- 重构:未登录时调用鉴权 API 抛出未登录异常而不再是无权限异常。
- 优化:优化 SaTokenDao 组件更换时的逻辑。
- 文档:提供 SpringBoot3.x 路由匹配出错的解决方案。
Sa-Token v1.36.0 发布,轻量级权限认证框架
- 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 能力
-
sa-token-core:
- 优化:前端未提供 token 时,
getTokenSession()
将抛出未登录异常,而不是返回 null。 [不向下兼容] - 新增:SaSession 新增字段:
type
、loginType
、loginId
、token
。 - 重构:全局过滤器抽离 SaFilter 统一接口。
- 重构:全局过滤器
includeList
、excludeList
改为 public,同时移除对应的 getter 方法。 [不向下兼容] - 重构:将全局过滤器的 BeforeAuth 认证设为不受
includeList
与excludeList
的限制,所有请求都会进入。 [不向下兼容] - 新增:新增循环生成 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
参数的能力。
- 优化:前端未提供 token 时,
-
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 的逻辑。
- 修复:在 SSO 模式三中
-
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
- 新增:新增
SpringBoot3.x
集成插件,感谢@jry
提供的参考思路。 [重要] - 新增:新增
sa-token-dao-redisson-jackson
插件,感谢@疯狂的狮子Li
提交的pr。 [重要] - 新增:Alone-Redis 新增集群配置能力,感谢
@appleOfGray
提交的pr。 [重要] - 升级:升级 Sign 签名模块,增加部分重载方法。
- 重构:
SaSignTemplate#joinParams
更名为joinParamsDictSort
。 [不向下兼容] - 升级:升级临时 Token 认证模块,可指定 service 参数。
- 删除:彻底删除过期类
SaAnnotationInterceptor
和SaRouteInterceptor
。 - 删除: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 模块
- 重构:重构异常状态码机制。 [重要]
- 重构:重构 sa-token-sso 模块异常码改为 300 开头,sa-token-jwt 异常码改为 302 开头。 [不向下兼容]
- 新增:新增全局 Log 模块。 [重要]
- 重构:SaTokenListenerForConsolePrint 改名 SaTokenListenerForLog。 [不向下兼容]
- 修复:修复多线程下 SaFoxUtil.getRandomString() 随机数重复问题。
- 文档:文档优化。