Sa-Token 鉴权文档助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_24a9b03d/sa-token-doc。
技能介绍
要解决什么问题
在 Spring Boot、Solon、WebFlux 或网关里接 Sa-Token 时,文档主题多、版本差异细:登录与 Token 风格、StpInterface 权限数据源、Session 作用域、SSO/OAuth2、Redis 持久化、微服务 Same-Token 等,很容易查错章节或在异步线程里踩「上下文未初始化」的坑。你需要的是按问题定位到对应专题,而不是一次性塞满整本手册。
技能如何工作
本技能以 Sa-Token v1.44.0 为基准,设计哲学是「一行代码完成鉴权」,核心入口为静态工具类 StpUtil(无需注入)。回答遵循两层渐进加载:
- 匹配阶段:先读
references/00-索引与导览.md,根据你的问题(集成、鉴权、SSO、OAuth2 等)定位目标 reference 文件。 - 精确加载:只读取该主题的
references/0X-*.md,其中包含该主题的 API、配置与可运行示例;文件间通过[[双括号]]交叉引用。
输出规范偏向工程实践:代码优先(依赖用 Maven cn.dev33:satoken:1.44.0,配置用 yaml);先给最简方案再展开;多方案时标注选型与场景;涉及版本时注明 v1.43/v1.44 变更。
适用边界与注意点
- 你必须实现
StpInterface并注入 Spring,多账号体系时LoginType需与配置一致。 - Servlet 与 Reactor starter 互斥:网关用 Reactor 版,普通服务用 Servlet 版。
- 非 Web 请求线程调用
StpUtil前需SaTokenContextHolder.setContext,用毕clearContext()。 - JWT 模式下勿依赖踢人下线;Password 模式 OAuth2 需自定义
PasswordGrantTypeHandler。 - 技能覆盖框架用法与排查,不替代官方发行说明与你的业务安全审计。
使用场景
- 新项目要在 Spring Boot 里引入 Maven 依赖并配置 `StpUtil` 登录、注销与前后端分离 Token 下发
- 业务接口需要实现 `StpInterface` 并配合 `@SaCheckRole`、`SaRouter` 做路由级权限拦截
- 微服务网关要用 Reactor 版 starter 做 Gateway 鉴权,并与下游服务约定 Same-Token 校验
- SSO 或 OAuth2 接入时要区分三种 SSO 模式、四种 OAuth2 模式及 Password Grant 自定义 Handler
适合人员
- 负责单体或微服务登录态的后端工程师,需要在不改架构的前提下统一 Token 与 Session 行为
- 正在设计集团内统一登录或开放平台授权的架构师,要在 SSO 全站通行与 OAuth2 授权范围之间选型
- 维护 Spring Cloud Gateway 的中间件开发,需在网关层做鉴权且避免 Servlet/Reactor starter 混用
- 从 Shiro 或其它鉴权框架切到 Sa-Token 的维护者,需要按专题查 Redis 持久化、踢人与 JWT 限制