单点登录是大型架构核心,下面我详解单点登录技术方案@mikechen
单点登录
单点登录(Single Sign-On,SSO)旨在为用户提供一次认证、多处访问的便捷与安全体验。

基于 Cookie/Session 的同域 SSO
核心思想:在统一认证中心登录一次,颁发会话 Cookie 或 Token。

多个同域或子域应用共享(例如统一 *.mikechen.cc)。
典型实现:
统一认证站点(Auth Server)+ 业务应用.
认证成功后在顶级域写入加密 Cookie,业务系统通过 Cookie 向认证中心换取用户信息。
优点:实现简单、对旧系统兼容好,前后端改造量小。
缺点:强依赖浏览器 Cookie,同域/子域场景友好,但跨域、跨组织支持差。
对移动端、第三方 SaaS 支持不足。
适用场景:老系统集成、内部门户、同一顶级域下的多个 Web 应用。
基于 Token(JWT/OAuth2 )的分布式 SSO
用户认证后由认证服务颁发访问令牌(如 JWT)。

各子系统验证令牌的有效性(可通过公钥验证或调用授权服务器的 introspection 接口)。
常与 OAuth2 / OpenID Connect (OIDC)标准结合,用于 Web、移动与 API 场景。
优点:跨域与跨平台支持良好、无状态或可扩展为无状态验证、支持细粒度授权与第三方接入。标准化程度高,生态成熟。
缺点:令牌管理与刷新、撤销较复杂。
适用场景:新系统建设、云原生、微服务、对接第三方 SaaS、App 与 Web 统一登录。
基于中央认证服务器(CAS)的 SSO
CAS(Central Authentication Service):它通过一个独立的认证中心来分发“票据”。

核心逻辑:
TGC (Ticket Granting Cookie):存在于 SSO 服务器域下的 Cookie,证明你已登录 SSO。
ST (Service Ticket):通过 URL 参数传递给业务系统的临时票据。
流程描述:
用户访问 App,未登录,重定向到 SSO 中心。
SSO 登录成功,创建 SSO 会话,并带上 ST 重定向回 App。
App 拿到 ST 后,在后端向 SSO 发起校验。
校验成功,App 自行建立局部 Session。
优点:协议严谨,安全性高(票据在后端校验,阅后即焚)。
缺点:逻辑较重,需要业务系统集成 CAS 客户端。
mikechen睿哥
10年+一线大厂技术经验,大厂资深面试官,就职于阿里、淘宝等一线大厂。