概述
在数字世界日益碎片化的今天,管理成堆的账号密码不仅是负担,更是安全隐患。单点登录(SSO) 提供了一种优雅的解决方案,让用户在信任的系统间无缝漫游。本文将从原理到实践,系统梳理 SSO 的核心机制。
什么是 SSO?
单点登录允许用户在一次登录后,访问多个相互信任的应用,无需重复输入凭据。比如用公司账号登录企业微信后,直接访问 OA、CRM 等内部系统,这就是典型的 SSO 体验。
核心价值
- 用户体验:告别繁琐登录,聚焦业务。
- 安全管控:统一认证逻辑,便于实施强密码策略、多因素认证(MFA)。
- 运维效率:降低账号管理和密码重置成本,实现身份自动化生命周期管理。
工作原理
SSO 的核心是认证中心。所有应用都信任它。
首次登录:用户访问应用 A -> 重定向至认证中心 -> 输入凭据 -> 认证中心创建全局会话并发放票据 -> 应用 A 验证票据并建立本地会话。
后续访问:用户访问应用 B -> 重定向至认证中心 -> 检测到全局会话有效 -> 直接发放新票据 -> 应用 B 验证通过。
关键在于'黄金票据'(全局会话)由认证中心持有,各应用共享信任。
常见协议
| 协议 | 特点 | 适用场景 |
|---|---|---|
| SAML 2.0 | XML 格式,企业级标准 | 企业内部、B2B 集成 |
| OAuth 2.0 | 授权钥匙 | 开放平台、API 授权 |
| OpenID Connect | 基于 OAuth 2.0 的 JSON 身份证 | 现代 Web/移动应用首选 |
| CAS | 轻量级开源 | 教育、政务内网 |
注意:OAuth 2.0 本质是授权,需配合 OpenID Connect 才能用于身份认证。
架构形态
- 中心化 SSO:所有应用连接一个中央身份提供商(IdP),如 Keycloak、Auth0。部署简单,策略统一。
- 联邦身份:跨组织信任体系。例如公司 A 员工登录合作伙伴公司 B 的系统,通常基于 SAML 或 OIDC。
安全要点
SSO 是攻击重点,IdP 一旦失守,所有关联系统皆危。
- Token 安全:强制 HTTPS,设置合理有效期,使用 Refresh Token。
- 防重放:引入 nonce 和 timestamp。
- 单点登出:IdP 登出时需通知所有应用失效本地会话,避免'安全孤岛'。
- 加固 IdP:启用 MFA,严格访问控制,持续监控。
典型场景
- 企业办公:打通 ERP、CRM、OA 及外部 SaaS。
- 高等教育:校园门户对接教务、图书馆、邮箱。
- 云服务:AWS、Azure 等云资源权限管理。
- 消费互联网:微信/QQ/Apple ID 登录即 OIDC/OAuth 2.0 应用。


