单点登录解决方案详解(图文全面总结)

分布式是大型架构核心,下面我详解单点登录解决方案@mikechen

单点登录

单点登录:(Single Sign-On,简称SSO)是一种身份验证机制。

允许用户使用一组凭据(例如用户名和密码)登录多个应用程序或系统,而无需在每个应用中重复登录。

单点登录解决方案详解(图文全面总结)-mikechen

SSO 常用于企业系统、云服务和跨平台应用中。

SSO 的核心优势包括:用户便利性:减少密码疲劳,用户只需记住一个凭据。

安全性提升:集中管理身份验证,减少分散的弱密码风险。

效率:加速登录过程,降低支持成本。

合规性:便于审计和访问控制。

 

单点登录原理

单点登录,可以简单抽象为三个角色:

单点登录解决方案详解(图文全面总结)-mikechen

用户(User):浏览器或 App。

业务系统(App):A 系统、B 系统、管理后台等。

统一认证中心(Auth / SSO Server):唯一负责“登录”和“签发凭证”的服务。

基本思路:

统一认证中心维护“登录态”(如 Session、Token)。

各业务系统自身不保存用户名密码逻辑,只负责:

发现本系统没有登录态时,把用户跳转到认证中心;

拿着认证中心给的“票据 / Token”去验证;

验证通过后,在本系统里建立本地会话(如本系统自己的 Session / Token)。

只要所有系统都信任同一个认证中心,且票据可验证且防伪,就实现了单点登录。

 

单点登录方案

业界公认的主流 SSO 协议主要有这几种:

单点登录解决方案详解(图文全面总结)-mikechen

OAuth 2.0 + OpenID Connect(OIDC)

OAuth2 本身偏授权,OpenID Connect 在 OAuth2 之上补上“身份认证”。

两者组合已经成为 Web / 移动 / API 时代最流行的 SSO 技术栈。

典型场景:网站/APP 用“微信登录”“Google 登录”、企业自建 IdP + 各业务系统统一登录等。

CAS(Central Authentication Service)

一种较早、专门为 Web SSO 设计的协议。

国内很多早期校园网、OA 使用 CAS 3.0,仍然常见但热度相对低于 SAML/OIDC。

SAML 2.0

企业内部、B2B 场景里最经典的 SSO 协议,被很多人视为企业级 SSO 的“金标准”。

以 XML 的 Assertion 形式在 IdP 与 SP 之间传递认证信息,适合 Web、门户、OA 等老牌信息系统。

面向互联网、移动端、第三方接入:OAuth2 + OIDC 几乎是默认选型。

评论交流
    说说你的看法