2023-02-15 01:17:23
SSO(单点登录)的核心原理是通过集中认证机制,使用户在多个相互信任的应用系统中仅需登录一次即可访问所有系统,其实现方式包括共享cookies(已淘汰)、Broker-based、Agent-based、Token-based、基于网关及SAML标准等。 以下为具体实现方式及原理分析:
一、共享cookies(已淘汰)用户首次登录时向Broker提交凭证;
Broker验证后生成电子身份令牌,存储于中央数据库;
用户访问其他系统时,系统通过Broker验证令牌有效性。
代理程序存储口令表或加密密钥;
用户访问应用时,代理自动填充凭证或加密通信;
应用系统通过代理完成认证,无需用户重复输入。
用户首次登录认证系统,获取令牌;
访问其他系统时,系统验证令牌有效性(如与认证服务器核对);
令牌有效则允许访问,否则拒绝。
用户访问网关,提交凭证;
网关验证后生成内部会话,转发请求至目标系统;
目标系统信任网关,无需二次认证。
用户访问服务提供商(SP);
SP重定向至身份提供商(IdP)进行认证;
IdP验证后生成SAML断言(含用户身份信息),返回给SP;
SP解析断言,完成登录。
用户访问应用系统,系统检测无有效会话,重定向至CAS服务器;
CAS服务器验证用户身份,生成服务票据(ST);
用户携带ST返回应用系统,系统验证ST有效性;
验证通过后建立本地会话,允许访问。
SSO通过集中认证与令牌传递机制,消除多系统重复登录问题。实现方式从早期共享cookies到现代SAML标准,安全性与灵活性逐步提升。企业可根据规模(如Broker-based适合大型组织)、技术栈(如SAML适合跨平台)及安全需求选择合适方案。