基于 OIDC 和 OAuth 2.1 的开源身份认证与授权基础设施,支持多租户、企业 SSO 和 RBAC。
- Star
- 19,111
- Fork
- 2,911
- 未关闭 Issue
- 123
- 最近提交
- 22天前
这是什么?
Sa-Token 是一个 Java 权限认证框架,用于为 Web 应用处理登录认证和权限鉴权。它提供会话登录、角色与权限校验、踢人下线等功能,既可以通过注解也可以通过路由拦截来实施鉴权。核心调用非常简洁,例如 StpUtil.login(userId) 完成登录,StpUtil.checkLogin() 校验登录状态。
除基础登录外,项目还内置多种单点登录模式(同域、跨域、共享或跨 Redis),支持授权码、隐藏式、密码式和客户端凭证式的 OAuth2 服务端,并可在 Gateway、ShenYu、Zuul 等网关中做路由鉴权。此外还集成了 JWT、API Key 授权、API 参数签名、Http Basic 与 Digest 认证以及账号封禁等能力。
框架提供 Spring Boot 2、3/4、WebFlux、Solon、JFinal 等集成包,可选 Redis 作为持久层。文档与示例以中文为主。
核心功能
- 01支持多端登录、单端登录与同端互斥登录
- 02提供注解式与路由拦截式的权限和角色校验
- 03内置三种单点登录模式,并支持单点注销
- 04提供 OAuth2 服务端,覆盖四种授权模式
- 05集成 JWT,并支持 API Key 秘钥授权
- 06提供 API 参数签名,防止参数篡改和请求重放
适用场景
- 为 Spring Boot 后端项目添加登录与角色权限控制
- 在多个内部 Web 系统之间实现单点登录
- 在微服务网关层统一做接口鉴权
- 基于自有 Java 服务搭建 OAuth2 授权服务
快速上手
- 1
在 pom.xml 中添加 Spring Boot 启动器依赖
- 2
使用一行静态调用完成用户登录
StpUtil.login(10001); - 3
保护接口,使其仅允许已登录的客户端访问
StpUtil.checkLogin();
使用前须知
- README 以中文为主,完整文档托管在 sa-token.com。
- 仅适用于 Java;其他语言为社区独立移植版本,维护状态各不相同。
收录于专题
标签
常见问题
- Sa-Token 是什么?
- 一款 Java 权限认证框架,涵盖登录、权限、单点登录、OAuth2 与 JWT 等鉴权能力。 Sa-Token 是一个 Java 权限认证框架,用于为 Web 应用处理登录认证和权限鉴权。它提供会话登录、角色与权限校验、踢人下线等功能,既可以通过注解也可以通过路由拦截来实施鉴权。核心调用非常简洁,例如 StpUtil.login(userId) 完成登录,StpUtil.checkLogin() 校验登录状态。
- Sa-Token 可以免费使用吗?用的什么许可证?
- Sa-Token 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- Sa-Token 还在维护吗?
- 活跃维护中。Sa-Token 最近一次提交是在 2026年10月16日。
- Sa-Token 适合用来做什么?
- 为 Spring Boot 后端项目添加登录与角色权限控制 在多个内部 Web 系统之间实现单点登录 在微服务网关层统一做接口鉴权 基于自有 Java 服务搭建 OAuth2 授权服务
- Sa-Token 怎么安装和运行?
- 在 pom.xml 中添加 Spring Boot 启动器依赖 使用一行静态调用完成用户登录: StpUtil.login(10001); 保护接口,使其仅允许已登录的客户端访问: StpUtil.checkLogin();
- 在哪里获取 Sa-Token?
- 源代码和安装说明在 GitHub 上:https://github.com/dromara/Sa-Token
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Java 的开源单点登录与身份提供商服务器,支持 CAS、SAML2、OAuth2、OpenID Connect 和多因素认证。
基于 Rust 编写的轻量级身份提供商,通过 OpenID Connect、OAuth 2 和 PAM 实现单点登录,重点支持 Passkey。
面向 TypeScript 的通用认证与授权框架,通过插件扩展 2FA、多租户等功能。
开源身份提供商(IdP),支持 SAML、OAuth2/OIDC、LDAP 和 RADIUS 等协议,可从小型实验环境自托管到大型集群。
用 Rust 编写的自托管身份认证服务器,与 Keycloak 接口兼容,单一二进制部署,支持 OIDC、OAuth2、DPoP 和 CIBA。