单点登录,sso。oauth2怎么讲比较好

6次阅读
没有评论

 

聊到 SSO (Single Sign-On)OAuth 2.0,很多人容易把它们搞混。最简单、最透彻的讲法是:把它们看作生活中的不同“通行证”场景。

我们可以从“是什么”、“区别在哪”以及“怎么配合”三个维度来拆解。


1. 核心概念:它们到底在干嘛?

SSO (单点登录) —— “一钥匙开多门”

SSO 是一种功能需求体验方案。它的目标是:用户只需要在一个地方登录,就可以访问同一个信任域下的所有相互独立的系统(比如登录了谷歌邮箱,就不用再登录 YouTube)。

OAuth 2.0 —— “限权的代客泊车钥匙”

OAuth 2.0 是一个授权框架(虽然常被拿来做身份验证)。它的核心是:在不泄露密码的情况下,让第三方应用获得你的授权,去访问你的资源。

神级比喻:

  • SSO 像是一张公司工牌。你进大门刷一次,之后进办公室、进茶水间、进机房都不用再刷,因为它证明了“你是谁”。

  • OAuth 2.0 像是一张酒店临时房卡。你(用户)给打扫阿姨(第三方应用)这张卡,阿姨可以进房间收拾(获取资源),但阿姨并不知道你原本的房门密码。


2. 深度对比:它们的核心逻辑

为了讲清楚这两者,可以用下面这张表:

维度 SSO (通常指 SAML/CAS) OAuth 2.0
核心目的 身份验证 (Authentication):证明你是你。 授权 (Authorization):允许第三方做某些事。
应用场景 企业内部系统、全家桶系列产品。 开放平台、第三方快捷登录(用微信登录抖音)。
信任关系 强信任:子系统完全信任认证中心。 弱信任:应用只拿到有限权限的 Token。
交互主体 用户、认证中心、多个子应用。 用户、资源拥有者、第三方客户端、授权服务器。

3. 为什么大家总把它们搅在一起?

这是最容易产生困惑的地方:现在的 SSO 往往是用 OAuth 2.0(准确说是基于它的 OIDC)实现的。

OIDC (OpenID Connect):两者结合的产物

OAuth 2.0 本生只负责“发通行证”,不负责“告诉你这张脸是谁”。于是人们在 OAuth 2.0 之上加了一个身份层,叫 OIDC

  • OAuth 2.0 给你一个 Access Token(授权令牌)。

  • OIDC 额外给你一个 ID Token(身份令牌)。

通过这种方式,OAuth 2.0 就成了实现 SSO 的一种技术手段。


4. 怎么讲最容易让人听懂?(面试/演示套路)

你可以按照这个逻辑叙述:

  1. 先讲痛点: “如果没有 SSO,我进十个系统要输十次密码;如果没有 OAuth,我想让打印店打印我网盘的文件,就得把网盘密码告诉店员。”

  2. 讲区别: “SSO 解决的是登录烦恼,OAuth 解决的是安全授权问题。”

  3. 讲联系: “现在主流的做法是用 OIDC (基于 OAuth 2.0) 来做 SSO。比如你用微信登录各种 App,这就是利用 OAuth 的流程实现了 SSO 的体验:微信是认证中心,App 是第三方应用。”

总结一句话:

SSO 是为了让你“少记密码”,OAuth 2.0 是为了让你“少给密码”。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-04-07发表,共计1185字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)