登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
轻量养虾,开箱即用!低 Token + 稳定算力,Gitee & 模力方舟联合出品的 PocketClaw 正式开售!点击了解详情
代码拉取完成,页面将自动刷新
开源项目
>
WEB应用开发
>
OAuth/单点登录/统一认证
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
1.2K
Star
48.8K
Fork
4.4K
GVP
dromara
/
Sa-Token
代码
Issues
192
Pull Requests
15
Wiki
统计
流水线
服务
JavaDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
开发画像分析
我知道了,不再自动展开
发行版
最新版
v1.45.0
ad837c9
2026-03-09 09:33
对比
Sa-Token v1.45.0 发布,适配 SpringBoot4
刘潇
- core: - 新增:新增重复登录处理策略,当同一账号不允许多客户端同时登录时支持选择踢人下线或拦截本次登录。 **[重要]** merge: [pr 349](https://gitee.com/dromara/sa-token/pulls/349) - 修复:修复 `StpUtil.getLoginIdByTokenNotThinkFreeze` 方法缺少 `static` 修饰符的问题。 - 优化:优化路由匹配 pattern 缓存算法,消除魔法值。merge: [pr 907](https://github.com/dromara/Sa-Token/pulls/907) - 优化:移除冗余导包。 - 插件: - 新增:新增 `sa-token-jackson3` 插件,用于 Jackson 3 的 JSON 操作。 **[重要]** - 新增:新增 `sa-token-jackson3-test` 单元测试。 - 新增:新增 `sa-token-snack4` 插件。 **[重要]** merge: [pr 356](https://gitee.com/dromara/sa-token/pulls/356) - 修复:修复 Dubbo 上下文清理问题。 merge: [pr 889](https://github.com/dromara/Sa-Token/pulls/889) - 新增:loveqq-framework 版本更新。merge: [pr 351](https://gitee.com/dromara/sa-token/pulls/351) - starter: - 新增:新增 `sa-token-spring-boot4-starter` 集成包,支持 Spring Boot 4 环境集成。 **[重要]** - 新增:新增 `sa-token-reactor-spring-boot4-starter` 集成包,支持 Reactor + Spring Boot 4 环境集成。 **[重要]** - 新增:新增 `sa-token-demo-springboot4`、`sa-token-demo-webflux-springboot4` 示例。 - 新增:新增 Spring Boot 4 整合 demo 示例。 - 重构: - 重构:重构 `sa-token-dependencies` 相关模块,优化依赖关系。 **[重要]** - 重构:重构 Spring Boot WebMVC/Reactor 相关集成包,优化依赖关系。 **[重要]** - 优化:优化整体模块依赖关系。 - Solon: - 优化:`sa-token-solon-plugin` 优化 Gateway 接口的处理,避免使用路由接口。merge: [pr 348](https://gitee.com/dromara/sa-token/pulls/348) - SSO: - 新增:sso-server 前后端分离模式下 平台中心模式 demo 示例。 - 修复:SSO 模块 msgType 参数说明、API 说明修正。 - 新增:SSO 模块视频讲解链接:B站 王清江唷 SSO篇(29集)。 **[重要]** - 补全:SSO 模块内置消息处理器相关文档。 - 新增:文档为 `sa-token-sso` 模块定义 STS 协议。 **[重要]** - OAuth2: - 修复:修复 `sa-token-oauth2` 组件使用 `sa-token-fastjson2` 序列化导致的类型转换问题。merge: [pr 355](https://gitee.com/dromara/sa-token/pulls/355) - 优化:修改 `ClientIdSecretModel` 的读取构建逻辑。merge: [pr 346](https://gitee.com/dromara/sa-token/pulls/346) - 文档: - 同步:同步公众号文章列表、博客列表、赞助者名单、企业登记案例。 - 新增:新增 Sa-Token 内容合作者群。 **[重要]** - 新增:新增《Gitee 2025 年度开源项目 Web 应用开发 Top 2》证书展示。 - 新增:新增赞赏码展示、文档首页 stars 对比图。 - 新增:新增解决跨域专题文章。 - 新增:增加微信群聊信息展示。 - 优化:优化框架 Slogan。 - 优化:优化 README、案例库展示。 - 优化:文档主题切换增加水滴特效,调整主题色块顺序。 - 优化:文档优化 [登录认证]、[权限认证]、[路由拦截鉴权] 篇。 - 优化:补全全局策略说明、数据结构说明。 - 新增:目录树增加专门栏目记录项目架构设计。 - 优化:功能结构图增加点击事件跳转到对应功能文档。 - 优化:子服务外网隔离章节增加示意图。 - 优化:Same-Token 同源系统认证图示说明。 - 修复:更换 GitCode logo 为 AtomGit。 - 修复:更换 QQ 群链接、微信群聊展示图。 - 修复:文档图片地址更换为本地文件。 - 修复:错别字修复。 - 修复:maven-pull.md 文档,解决父子项目依赖下载问题。 - 新增:Maven 父子项目无法下载依赖的问题解决方案。merge: [pr 358](https://gitee.com/dromara/sa-token/pulls/358) - 修复:订正文档错别字。merge: [pr 354](https://gitee.com/dromara/sa-token/pulls/354) - 修复:文档内代码示例修正。merge: [pr 347](https://gitee.com/dromara/sa-token/pulls/347) - AI: - 新增:新增 organize-update-log SKILL,用于格式化整理版本更新日志信息。 - 新增:新增 commit-message SKILL,用于整理 git commit 日志信息。 - 新增:新增 upgrade-version SKILL,用于统一升级修改版本号。 - 其它: - 新增:readme 增加快问快答区域。 - 新增:增加忽略 .vscode 目录。 - 优化:注释优化。 - 新增:新增 `skills/remove-redundancy-import` 技能,用于检查 Java 类中无效冗余导包并移除。 - 重构:备忘录重构为专门的文件夹。 - 重构:调整项目发布配置至 Maven Central Portal。merge: [pr 792](https://github.com/dromara/Sa-Token/pull/792) - 优化:部分构建配置升级到最新版。 **完整的更新日志**: https://gitee.com/dromara/sa-token/commits/v1.45.0
最后提交信息为:
Merge branch 'master' of
https://gitee.com/dromara/sa-token
into dev
v1.44.0
ebc3817
2025-06-07 11:52
对比
Sa-Token v1.44.0 发布,常规更新 bug 修复
刘潇
- 修复:修复 sso-server 前后端分离示例无法正常登录的问题。 - 修复:修复 SSO 模式三全端注销失效的问题。 - 修复:修复 SSO `SaSsoClientModel` 部分场景下无法序列化的问题。 - 新增:OAuth2 模块新增支持从 `SaOAuth2DataLoader` 接口获取高级权限与低级权限的方法。merge: [pr 339](https://gitee.com/dromara/sa-token/pulls/339) - 修复:修复 `sa-token-dubbo` 与 `sa-token-dubbo3` 每次调用都强制需要上下文的问题。 - 文档:新增 `sa-token-dubbo3` 的说明。 - 文档:更新赞助者名单。 - 文档:新增 `loveqq-framework` 框架集成包。 **[重要]** merge: [pr 339](https://gitee.com/dromara/sa-token/pulls/340)
最后提交信息为:
release v1.44.0 ..
v1.43.0
5ab847c
2025-05-17 08:40
对比
Sa-Token v1.43.0 发布,SSO 支持单设备注销、消息推送,OAuth2 支持多 Access-Token 并存能力。
刘潇
- core: - 新增:`SaLogoutParameter` 新增 `deviceId` 参数,用于控制指定设备 id 的注销。 **[重要]** - 新增:新增 `SaHttpTemplate` 请求处理器模块。 - 新增:TOTP 增加 `issuer` 字段。 merge: [pr 329](https://gitee.com/dromara/sa-token/pulls/329) - 修复:修复 `Http Digest` 认证时 url 上带有查询参数时认证无法通过的问题。merge: [pr 334](https://gitee.com/dromara/sa-token/pulls/334) - 新增:@SaCheckOr 注解添加 `append` 字段,用于抓取未预先定义的注解类型进行批量注解鉴权。 - 新增:侦听器 `doRenewTimeout` 方法添加 loginType 参数。 - 新增:`SaInterceptor` 新增 `beforeAuth` 认证前置函数。 - SSO: - 新增:单点注销支持单设备注销。 **[重要]** fix: [#IA6ZK0](https://gitee.com/dromara/sa-token/issues/IA6ZK0) 、[#747](https://github.com/dromara/Sa-Token/issues/747) - 新增:新增消息推送机制。 **[重要]** fix: [#IBGXA7](https://gitee.com/dromara/sa-token/issues/IBGXA7) - 新增:配置项 clients 用于单独配置每个 client 的授权信息。 **[重要]** - 新增:配置项 `allowAnonClient` 决定是否启用匿名 client。 - 新增:SSO 模块新增配置文件方式启用“不同 client 不同秘钥”能力。 - 重构:sso-client 封装化获取 client 标识值。 - 新增:新增 SSO Strategy 策略类。 - 新增:sso-client 新增 `convertCenterIdToLoginId`、`convertLoginIdToCenterId` 策略函数,用于描述本地 LoginId 与认证中心 loginId 的转换规则。 - 新增:sso-server 新增 `jumpToRedirectUrlNotice` 策略,用于授权重定向跳转之前的通知。 - 优化:调整整体 SSO 示例代码。 - 新增:新增 ReSdk 模式对接示例:`sa-token-demo-sso3-client-resdk`。 **[重要]** - 新增:新增匿名应用模式对接示例:`sa-token-demo-sso3-client-anon`。 **[重要]** - OAuth2: - 新增:`SaClientModel` 新增 `isAutoConfirm` 配置项,用于决定是否允许应用可以自动确认授权。 **[重要]** - 新增:多 `Access-Token` 并存、多 `Refresh-Token` 并存、多 `Client-Token` 并存能力。 **[重要]** fix: [#IBHFD1](https://gitee.com/dromara/sa-token/issues/IBHFD1) 、 [#IBLL4Q](https://gitee.com/dromara/sa-token/issues/IBLL4Q) 、[#724](https://github.com/dromara/Sa-Token/issues/724) - 新增:Scope 分割符支持加号。merge: [pr 333](https://gitee.com/dromara/sa-token/pulls/333) - 修复:修复 oidc 协议下,当用户数据变动后,id_token 仍是旧信息的问题。 - 优化:对 `OAuth2 Password` 认证模式需要重写处理器添加强提醒。 - 优化:将认证流程回调从 `SaOAuth2ServerConfig` 转移到 `SaOAuth2Strategy`。 - 新增:新增 `SaOAuth2Strategy.instance.userAuthorizeClientCheck` 策略,用于检查指定用户是否可以授权指定应用。fix: [#553](https://github.com/dromara/Sa-Token/issues/553) - 优化:优化调整 `sa-token-oauth2` 模块代码结构及注释。 - 新增:`currentAccessToken()`、`currentClientToken()`,简化读取 `access_token`、`client_token` 步骤 - 插件: - 新增:新增 `sa-token-forest` 插件,用于在 Http 请求处理器模块整合 Forest。 - 新增:新增 `sa-token-okhttps` 插件,用于在 Http 请求处理器模块整合 OkHttps。 - 拆分:API Key 模块拆分独立插件包:`sa-token-apikey`。 - 拆分:API Sign 模块拆分独立插件包:`sa-token-sign`。 - 修复:修复 `sa-token-dubbo` 插件部分场景上下文控制出错的问题。 - 修复:修复 `sa-token-sanck3` `SaSessionForSnack3Customized:getModel` 接收 map 值时会出错的问题。 merge: [pr 330](https://gitee.com/dromara/sa-token/pulls/330) - 修复:修复使用 `sa-token-redis-template-jdk-serializer` 时反序列化错误。merge: [pr 331](https://gitee.com/dromara/sa-token/pulls/331) - 修复:`sa-token-snack3` 优化 `objectToJson` 序列化处理(增加类名,但不增加根类名)。 - 重构:重构 `sa-token-redis-template`、`sa-token-redis-template-jdk-serializer` 插件中 update 方法 ttl 获取方式改为毫秒,以减少 update 时的 ttl 计算误差。 **[重要]** - 示例: - 新增:新增 SSE 鉴权示例。 - 文档: - 新增:新增文档离线版下载。 - 新增:新增框架功能列表插图。 - 新增:新增示例:如何在响应式环境下的 Filter 里调用 Sa-Token 同步 API。 - 新增:新增 QA:在 idea 导入源码,运行报错:java: 程序包cn.dev33.satoken.oauth2不存在。 - 新增:新增 QA:新增QA:报错:SaTokenContext 上下文尚未初始化。 - 新增:新增 QA:在 idea 导入源码,运行报错:java: 程序包cn.dev33.satoken.oauth2不存在。 - 新增:重写路由匹配算法修正为最新写法。 - 新增:修复 OAuth2 UnionId 章节相关不正确描述。 - 优化:完善 QA:访问了一个不存在的路由,报错:SaTokenContext 上下文尚未初始化。 fix: [#771](https://github.com/dromara/Sa-Token/issues/771) - 优化:补充 sso 模块遗漏的配置字段介绍。 - 优化:OAuth2-Server 示例添加真正表单。 - 新增:文档新增重写 `PasswordGrantTypeHandler` 处理器示例。 - 新增:sso 章节和 oauth2 章节文档增加可重写策略说明。 - 其它: - 新增:readme 新增框架功能介绍图。 - 新增:SSO 模块新增思维导图说明。 - 新增:readme 新增 Forest 的友情链接。
最后提交信息为:
Merge branch 'dev' of
https://gitee.com/dromara/sa-token
into dev
v1.42.0
308f81b
2025-04-11 08:51
对比
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 指南”章节文档。
最后提交信息为:
release: v1.42.0
v1.41.0
5e8a429
2025-03-21 14:32
对比
Sa-Token v1.41.0 发布,大幅重构、拆分组件,防火墙新增 hooks 机制
刘潇
- core: - 修复:修复 `StpUtil.setTokenValue("xxx")`、`loginParameter.getIsWriteHeader()` 空指针的问题。 fix: [#IBKSM0](https://gitee.com/dromara/sa-token/issues/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](https://gitee.com/dromara/sa-token/issues/IAK2BI), [#I9SPI1](https://gitee.com/dromara/sa-token/issues/I9SPI1), [#IAC0P9](https://gitee.com/dromara/sa-token/issues/IAC0P9) **[重要]** - 重构:全局配置 `is-share` 默认值改为 false。 **[不向下兼容]** - 重构:踢人下线、顶人下线默认将删除对应的 token-session 对象。 - 优化:优化注销会话相关 API。 - 重构:登录默认设备类型值改为 DEF。 **[不向下兼容]** - 重构:`BCrypt` 标注为 `@Deprecated`。 - 新增:`sa-token-quick-login` 支持 `SpringBoot3` 项目。 fix: [#IAFQNE](https://gitee.com/dromara/sa-token/issues/IAFQNE)、[#673](https://github.com/dromara/Sa-Token/issues/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` 插件。 - 新增:新增设备锁登录示例。
最后提交信息为:
v1.41.0 update
v1.40.0
dacf86e
2025-02-01 22:58
对比
Sa-Token v1.40.0 发布,新增大量特性
刘潇
- core: - 新增:新增 `Cookie` 自定义属性支持。 fix: [#693](https://github.com/dromara/Sa-Token/issues/693) **[重要]** - 新增:`SaFirewallStrategy` 防火墙策略:请求 path 黑名单校验、非法字符校验、白名单放行。 **[重要]** - 修复:新增对分号字符的 path 路径校验。 参考:[Sa-Token对url过滤不全存在的风险点](https://mp.weixin.qq.com/s/77CIDZbgBwRunJeluofPTA) **[漏洞修复]** - 修复: 修复部分场景下登录后已存在的 `token-session` 没有被续期的问题。 fix: [#IA8U1O](https://gitee.com/dromara/sa-token/issues/IA8U1O) - 优化:优化 `active-timeout` 的检查与续期操作,同一请求内只会检查与续期一次。 - 修复:`SaFoxUtil.joinSharpParam` 方法中不正确的注释。 - 新增:封禁模块新增支持实时从数据库查询数据。 - SSO: - 优化:SSO 示例代码的跨域处理由原生方式改为 Sa-Token 过滤器模式。 - 新增:文档新增 “SSO整合 - NoSdk 模式与非 java 项目” 章节。 - 新增:“不同 SSO Client 配置不同秘钥” 章节增加部分异常的处理方案提示,fix: [#IAFZXL](https://gitee.com/dromara/sa-token/issues/IAFZXL) - 删除:sso demo 示例中部分不必要的代码内容。 - OAuth2: - 新增:OAuth2 Client 前端测试页。 **[重要]** - 新增:`UnionId` 联合id 实现。 **[重要]** - 新增:`oauth2-server` 端前后台分离示例与文档。 **[重要]** - 新增:`OIDC` 模式 `nonce` 随机数响应校验。 merge: [pr311](https://gitee.com/dromara/sa-token/pulls/311) - 修复:错误方法名 `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-freemarker` 插件,整合 `Freemarker` 视图引擎。 fix: [#651](https://github.com/dromara/sa-token/issues/651) **[重要]** - 新增:新增 `sa-token-spring-el` 插件,用于支持 SpEL 表达式注解鉴权。 fix: [#IB3GBB](https://gitee.com/dromara/sa-token/issues/IB3GBB)、fix: [#IAIXSL](https://gitee.com/dromara/sa-token/issues/IAIXSL)、fix: [#I9P24F](https://gitee.com/dromara/sa-token/issues/I9P24F) **[重要]** - 文档: - 新增:新增 `MongoDB` 集成示例。 感谢 `@lilihao` 提供的示例。 merge: [pr322](https://gitee.com/dromara/sa-token/pulls/322) **[重要]** - 新增:“fox说技术” 视频教程链接。 - 新增:“API接口参数签名”章节 视频讲解链接(B站抓蛙师)。 - 优化:文档首页首屏增加需求提交按钮。 - 其它:补全赞助者名单、`Dromara` 项目链接等信息。 - 新增:`SpringBoot3.x` 版本配置 Redis 注意事项。fix: [#688](https://github.com/dromara/Sa-Token/issues/688) - 新增:`gitcode` g-star badge 展示。 - 修复:`OAuth2` 滞后的配置信息示例。 - 新增:新增视频账号链接。 - 新增:新增团队成员展示。
最后提交信息为:
v1.40.0 update ..
v1.39.0
f8afd89
2024-08-28 10:05
对比
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](https://github.com/dromara/Sa-Token/issues/529) **[重要]** - 优化:优化代码注释、异常提示信息。 - 升级:兼容 `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 迁移 示例。 **[重要]**
最后提交信息为:
v1.39.0 update
v1.38.0
004a1b7
2024-05-12 16:04
对比
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` 模块中遗漏监听的注解。
最后提交信息为:
补全目录
v1.37.0
e076c71
2023-10-18 13:27
对比
Sa-Token v1.37.0 发布,轻量级权限认证框架
刘潇
- 修复:修复路由拦截鉴权可被绕过的问题。 **[漏洞修复]** - 重构:未登录时调用鉴权 API 抛出未登录异常而不再是无权限异常。 - 优化:优化 SaTokenDao 组件更换时的逻辑。 - 文档:提供 SpringBoot3.x 路由匹配出错的解决方案。
最后提交信息为:
v1.37.0 update
v1.36.0
c0587d5
2023-09-22 04:03
对比
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 等都可用)
最后提交信息为:
Merge branch 'dev' of
https://github.com/dromara/Sa-Token
into dev
v1.35.0
5a6e8bd
2023-06-26 17:47
对比
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` 参数的能力。 - 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`。
最后提交信息为:
完善配置项文档
v1.34.0
1e87426
2023-01-11 14:41
对比
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` 数据。 - 修复:修复源码注释和文档的部分不合适之处。
最后提交信息为:
v1.34.0 更新
v1.33.0
2ddfe6e
2022-11-16 21:28
对比
Sa-Token v1.33.0 发布,新增全局 Log 模块
刘潇
- 重构:重构异常状态码机制。 [重要] - 重构:重构 sa-token-sso 模块异常码改为 300 开头,sa-token-jwt 异常码改为 302 开头。 [不向下兼容] - 新增:新增全局 Log 模块。 [重要] - 重构:SaTokenListenerForConsolePrint 改名 SaTokenListenerForLog。 [不向下兼容] - 修复:修复多线程下 SaFoxUtil.getRandomString() 随机数重复问题。 - 文档:文档优化。
最后提交信息为:
v1.33.0 更新日志
v1.32.0
0822de1
2022-10-28 11:54
对比
Sa-Token v1.32.0 发布,新增 vue2 & vue3 对接 SSO 认证中心示例
刘潇
- 修复:修复 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-server` 和 `sso-client` 的示例。 **[重要]** - 新增:SSO模块文档新增一个项目同时搭建两个 `sso-server` 服务 的示例。 **[重要]** - 文档:在线文档新增代码示例。 - 文档:在线文档增加全局调色功能。 - 文档:[自定义 SaTokenContext 指南] 章节新增对三种模型的解释。 - 文档:新增多账号体系混合鉴权代码示例。 - 文档:文档增加 `Gradle` 依赖方式和 `properties` 风格配置。 - 新增:新增 `sa-token-dependencies`,统一定义依赖版本。 **[重要]**
最后提交信息为:
v1.32.0 更新.
v1.31.0
eb29512
2022-09-09 08:38
对比
Sa-Token v1.31.0 发布,轻量级 Java 权限认证框架
刘潇
- 文档:新增优秀开源案例展示。 - 文档:新增博客展示,欢迎大家投稿。 - 新增:新增 `SaInterceptor` 综合拦截器。 **[重要]** **[不向下兼容]** - 新增:新增 新增 `@SaIgnore` 忽略鉴权注解。 **[重要]** - 新增:新增插件 `sa-token-dao-redis-fastjson`,感谢 `@sikadai` 提交的pr。 **[重要]** - 新增:新增插件 `sa-token-context-grpc`,感谢 `@LiYiMing666` 提交的pr。 **[重要]** - 重构:SaSession 取消 `tokenSignList` 的 final 修饰符。 - 新增:SaSession 添加 `setTokenSignList` 方法。 - 重构:TokenSign 新增 `setValue` 和 `setDevice` 方法。 - 修复:修复多账号模式下不能正确重置 `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](https://gitee.com/sa-token/awesome-sa-token)
最后提交信息为:
增加博客案例
v1.30.0
be499e0
2022-05-10 09:51
对比
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 异常细分状态码。[详见](/fun/exception-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
最后提交信息为:
v.1.30.0 release
v1.29.0
28513ef
2022-02-10 09:08
对比
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 - 完善:完善单元测试。
最后提交信息为:
Merge branch 'master' of
https://gitee.com/dromara/sa-token
into dev
v1.28.0
6b80afe
2021-11-08 09:17
对比
Sa-Token v1.28.0 发布,新增 jwt、dubbo 集成插件
刘潇
- 新增:新增 `sa-token-jwt` 插件,用于与jwt的整合 **[重要]** - 新增:新增 `sa-token-context-dubbo` 插件,用于与 Dubbo 的整合 **[重要]** - 文档:文档新增章节:Sa-Token 插件开发指南 **[重要]** - 文档:文档新增章节:名称解释 - 优化:抽离 `getSaTokenDao()` 方法,方便重写 - 新增:单元测试新增多账号模式数据不互通测试 - 优化:优化在线文档,修复部分错误之处 - 优化:优化未登录异常抛出提示,标注无效的Token值 - 修复:修复单词拼写错误 `getDeviceOrDefault` - 优化:优化 jwt 集成示例 - 文档:新增常见问题总结
最后提交信息为:
v1.28.0 更新.
v1.27.0
ed7b1ce
2021-10-12 09:36
对比
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 ### 标题
最后提交信息为:
优化文档
v1.26.0
84d52f1
2021-09-02 10:08
对比
Sa-Token v1.26.0 发布,新增 Http Basic 认证
刘潇
- 优化:优化单点登录文档 - 新增:新增 `Http Basic` 认证 **[重要]** - 新增:文档新增跨域解决方案 - 文档:新增 Nginx 转发请求丢失uri的解决方案 - 文档:新增 SSO 自定义 API 路由示例 **[重要]** - 示例:新增 `SSO-Server` 端前后端分离示例 **[重要]**
最后提交信息为:
v1.26.0 更新
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
Java
1
https://gitee.com/dromara/sa-token.git
git@gitee.com:dromara/sa-token.git
dromara
sa-token
Sa-Token
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册