核心概念
单点登录 (SSO)
了解单点登录 (SSO) 与单点登出 (SLO) 的工作原理及其在 YeeAuth 中的应用。
单点登录与单点登出 (SSO & SLO)
在现代数字化生态中,企业和组织通常会提供多个关联的应用程序。为了避免用户在不同系统间频繁输入密码,我们需要引入单点登录 (Single Sign-On, SSO) 和单点登出 (Single Log-Out, SLO)。
什么是单点登录 (SSO)?
单点登录 (SSO) 是一种身份验证机制。当用户在企业内的任意一个应用程序(例如门户网站)成功登录后,在访问该企业旗下的其他信任应用程序(例如内部邮件系统、CRM 系统)时,无需再次输入用户名和密码即可自动完成登录。
SSO 的优势
- 极佳的用户体验:用户只需记住一套凭据,只需登录一次即可在应用矩阵间自由穿梭。
- 提升安全性:减少了密码疲劳和由于密码过多导致的“密码记在便利贴上”的安全隐患;集中式的登录页面防范了各子应用的潜在钓鱼风险。
- 降低 IT 管理成本:集中管理用户的认证会话,降低了重置密码的客服请求量。
YeeAuth 的 SSO 工作原理
在 YeeAuth 中,SSO 会话主要依赖于浏览器中存储的 YeeAuth 会话 Cookie:
- 用户访问“应用 A”,被重定向到 YeeAuth 统一登录页。
- 用户成功验证身份后,YeeAuth 在用户的浏览器中种下一个全局的会话 Cookie,并带着授权码重定向回“应用 A”。
- 随后,用户访问“应用 B”,再次被重定向到 YeeAuth。
- YeeAuth 检查到浏览器中已存在有效的会话 Cookie,直接确认用户身份,无需展示登录界面,立刻将用户重定向回“应用 B”完成登录。
什么是单点登出 (SLO)?
单点登出 (SLO) 是与 SSO 配对的概念。如果用户在一个应用中注销了登录,为了安全起见,他们应当能选择在所有参与同一 SSO 会话的其他应用程序中也同时注销。
SLO 的挑战
与“一键登录”相比,“一键全局注销”要在复杂的技术生态中实现通常更具挑战性,因为各个应用程序可能使用了不同的技术栈和本地会话保持机制。YeeAuth 支持基于 OIDC 规范的多种 SLO 机制(如 Front-channel Logout, Back-channel Logout 等),确保您的所有应用都能及时同步注销状态。
[!TIP]
在对接多个应用程序时,推荐统一采用基于 OAuth 2.0 / OIDC 标准协议的 SSO 架构,以获得最佳的兼容性和安全性。