SSO登录(Single Sign-On,单点登录)是一种身份认证方案,允许用户使用一组凭证(如用户名和密码)登录多个相互信任的应用程序或系统,而无需在每个应用中重复输入凭证。
1. 核心原理
- 中心化认证:所有认证流程统一由一个身份提供者(IdP,如 Okta、Azure AD、Auth0、企业自建系统) 处理。
- 信任关系:应用系统(SP,服务提供者)信任 IdP 的认证结果。
- 令牌传递:登录成功后,IdP 生成加密的令牌(如 SAML、JWT、OAuth2 token)传递给用户访问的应用,证明其身份。
2. 典型流程(以网页为例)
- 用户访问 应用A(如公司邮箱)。
- 应用A 检测未登录,重定向到 SSO 认证中心(IdP)。
- 用户在 IdP 页面输入账号密码(或其他认证方式,如扫码、OTP)。
- 认证成功后,IdP 生成令牌,重定向回 应用A 并附带令牌。
- 应用A 向 IdP 验证令牌有效性,登录成功。
- 用户再访问 应用B(如内部系统)时,应用B 同样重定向到 IdP。
- IdP 发现用户已登录,直接授权并返回令牌,用户无需再次输入凭证。
3. 主要优势
用户体验提升:只需记一套密码,减少重复登录。
安全性增强:
- 密码仅在 IdP 输入,降低密码暴露风险。
- 集中管理用户权限和认证策略(如强制双因素认证)。
管理效率:管理员可统一管理账户生命周期(创建、禁用、权限调整)。
4. 常见协议与技术
- SAML(企业级常用,基于 XML)
- OAuth 2.0 / OpenID Connect(现代 Web/移动应用主流)
- CAS(开源协议,常见于教育机构)
- LDAP/AD 集成(企业目录服务结合 SSO)
5. 应用场景
- 企业内部系统:员工登录后无缝访问邮箱、OA、CRM 等。
- 云服务集成:用 Google、微信、Microsoft 账号登录第三方应用。
- 跨平台体验:一次登录后在 Web、移动端、桌面端共享状态。
6. 注意事项
- 单点故障风险:IdP 故障可能导致所有系统无法登录(需高可用设计)。
- 安全依赖集中:IdP 被攻破则所有系统受影响,需强化保护(如多因素认证)。
- 退出机制:单点注销(SLO)需所有应用同步登出,实现复杂度较高。
7. 举例
- 用 微信扫码登录 第三方网站。
- 公司使用 Microsoft 365 账户 登录 Outlook、Teams、SharePoint。
- 大学校园网登录后,直接访问图书馆系统、选课平台。
SSO 是现代数字身份管理的核心组件,尤其适合中大型组织或生态体系,平衡安全性与便利性。