sa-token-micro
|
|
基于 sa-token-doc/micro/ 全部 4 个文档。基础认证使用 sa-token 技能。
客户端 → Gateway(校验登录+注入Same-Token) → 子服务(校验Same-Token)
↕ Feign(携带Same-Token)
其他子服务(校验Same-Token)
Step 1. 引入依赖 — Gateway用Reactor依赖,子服务用Servlet依赖 Step 2. 配置Redis — 所有服务连接到同一个Redis Step 3. Gateway统一鉴权 — SaReactorFilter集中校验登录和权限 Step 4. Gateway注入Same-Token — ForwardAuthFilter添加请求头 Step 5. 子服务校验 — SaServletFilter校验Same-Token Step 6. Feign/Dubbo集成 — RPC调用传递Same-Token Step 7. 定时刷新 — 定期刷新Same-Token以保证高可用
| 文件 | 说明 | 来源 | |------|------|------| | gateway-auth.md | 网关统一鉴权+分布式Session | gateway-auth、dcs-session | | same-token.md | Same-Token隔离+依赖引入 | same-token(277行)、import-intro |
Q: Same-Token和OAuth2有什么区别? A: Same-Token用于同源系统内部鉴权,简单高效。OAuth2用于开放平台第三方授权。内部用Same-Token,外部用OAuth2。
Q: Same-Token有效期多久? A: 默认86400秒(1天),建议使用定时任务每5分钟刷新一次。刷新时旧Token作为次级Token保留,新旧其一都可通过。
Q: Gateway和子服务需要不同的依赖?
A: 是的。Gateway用 sa-token-reactor-spring-boot-starter(响应式),子服务用 sa-token-spring-boot-starter(Servlet)。
Q: 分布式Session怎么实现?
A: 只需引入 sa-token-redis-template 依赖并配置公共Redis地址,框架自动将会话数据存储到Redis,所有服务共享。
Q: Gateway鉴权和子服务鉴权怎么分工? A: Gateway做统一登录校验+权限校验,子服务做Same-Token校验防止绕过网关直接访问。
configuration = FeignInterceptor.class本技能不收集、存储或传输任何用户数据。所有代码示例仅供本地开发参考。