用途:基于 sa-token-doc/sso/ 全部 18 个文档,提供 Sa-Token 单点登录(SSO)的完整方案,解决多系统统一登录与注销问题。基础登录、权限与注解鉴权请使用 sa-token 技能;OAuth2.0 服务端见 sa-token-oauth2;微服务鉴权见 sa-token-micro。
主要能力:三种 SSO 模式。模式一为同域 + 同 Redis,通过共享 Cookie 同步会话,适合同父域下的子系统;模式二为跨域 + 同 Redis,通过 URL 重定向传播会话;模式三为跨域 + 跨 Redis,通过 Http 请求获取 ticket,适合完全隔离环境。另含 SSO-Server 搭建(认证中心统一登录/注销)、SSO-Client 接入、单点注销、前后端分离 SSO(H5 方案适配 SPA)、自定义登录页面、域名校验白名单、NoSdk/ReSdk 非 Java 项目接入。
使用方式:引入 sa-token-sso 依赖并确认 Redis 连接;按架构选择模式;搭建 SSO-Server 配置 /sso/auth 等端点;各应用接入 SSO-Client 并配置认证地址;配置域名白名单;开启单点注销(is-slo: true);测试跨系统登录与注销。模式三需配置 ticket-url,否则 Client 无法向 Server 校验 ticket。
适用场景:同父域多子系统、跨域但共享 Redis、完全独立服务等。不确定时默认选模式三。
限制:模式一、二需所有服务共享同一 Redis,且 Server 与 Client 网络互通;模式一依赖 Cookie 同域,子域名须在同一父域名下;模式一、二需同一语言(依赖共享 Redis 的 Java SDK),模式三不限语言。生产环境建议配置 secret-key 加密通信,并开启 is-check-sign: true;未配置 allow-domains 时所有域名均可接入,生产需限制。单点注销需 Server 端 is-slo: true 与 Client 端 reg-logout-call: true 双向配置。前后端分离下 URL 中 ticket 参数需前端主动处理,后端不会自动重定向。Same-Token 用于微服务内部鉴权,勿与 SSO 混淆。本技能不收集、存储或传输任何用户数据。