免费注册,打造高效身份管理
博客/开发者/单点登录 SSO 和 OAuth2.0 的关系是什么?
单点登录 SSO 和 OAuth2.0 的关系是什么?
Authing 官方2022.09.13阅读 1667

01.OAuth2.0 实现了「授权」,SSO 还得实现「认证」

一言以蔽之,OAuth2.0 可以是通往 SSO 这个 “罗马” 的其中一条路,但它们本身并列于不同的场景与需求。
 
  SSO OAuth2.0
含义 Single Sign On,单点登录 OAuth 的 2.0 版本
本质 一种思想 / 解决方案,抽象的 一种协议,具体的
应用场景 一次鉴权,畅通多个应用 发放令牌,授予操作权限
在业务系统中存储账密 × ×
验证用户身份的方式 session、cookie、token token
互相信任的应用群 ×
资源提供方 客户端+用户 用户

 

在详解 SSO 和 OAuth2.0 之前,需要先弄懂 “认证” 与 “授权” 。
认证(Authentication):知道 ta 是谁
授权(Authorization):知道 ta 有没有权限对资源执行试图执行的操作
 
认证操作需要由身份信息的持有者来完成,我们称其为 IdP(Identity Provider,身份提供商)。而在使用 OAuth2.0 协议的流程中,是不出现 IdP 这一角色的。
 
我们可以借用《西游记》来理解一下:如果天界支持的是 OAuth2.0 协议,六耳猕猴真拿到了通关文牒(相当于token,令牌),那它就可以凭着这个去西天取经了。因为如来佛祖不管来的猴姓甚名谁,只要令牌符合条件,就可以把经文取走。
 
换句话说,SSO 可以借助 OAuth2.0 完成了「授权」,但「认证」这一步还需要靠引入 IdP 来实现
 

02

OAuth2.0

 
OAuth2.0 是一种关于授权的开放网络标准允许用户在一个站点向其他站点授予对其资源的有限访问权限,而无需获得其凭证
 
设想一下,小蓝想把存储在 Google 的游戏录屏分享到 TapTap 这个手游分享社区,但又不愿意它拥有获取 Google 里所有资料的权力。问题是,只有得到了小蓝的授权,TapTap 才能读取 Google 相册里的视频。除了把 Google 的账密告诉其他应用,还有什么办法吗?
 
OAuth2.0 的诞生就解决了这个问题。简单来说,它在 Google 这个SPService Provider,服务提供商)和 TapTap 客户之间设置了一道“授权结界”不让它们直接接触
 
被授权的主体不是用户,而是想要访问用户资源的业务系统,也就是TapTap 这种客户端。
 

03

单点登录 SSO

 
而 SSO 在引入身份提供商后,用户也成为了等待被认证、被授权的主体。
 
SSO(Single Sign On,单点登录)是指一种思想或服务,用户只需使用一次登录凭据就可以访问其他所有被授予权限的应用
 
也就是说,小蓝用一组账号密码登录公司的考勤系统,切换至被授权的财务系统时也处于登录态,不会跳出让他重复登录的会话框。
 
还是用“真假美猴王”的例子来理解 SSO 和 OAuth2.0 的区别: 如果天庭购买了能够提供单点登录服务的软件,并委派一个 “身份官”(IdP)查岗,六耳猕猴就不仅要持有通关文牒这个 token,还得报上名来,证明自己是唐僧师徒四人的其中一个,才能取走经文。
 
可以看出,IdP 认证用户身份并授权其访问存储在客户端的资源,是 SSO 比 OAuth2.0 走得更远之处。
认证的方式包括三种:
  • 通过 session 进行认证
  • 通过 cookie 进行认证
  • 通过 token 进行认证
 
市面上具备 SSO 功能的软件里, Authing 无需手动编写操作 session、cookie 或是 token的,控制台可以一键体验单点登录功能,感兴趣的话可以查看官网的使用指南介绍。
 
 

Authing 是国内首款以开发者为中心的全场景身份云产品,为企业和开发者提供完善安全的用户认证和访问管理服务。作为云原生架构下的身份云产品,Authing 在产品创建初期,目标就是服务亿级的企业和个人开发者客户,轻量级、易部署、低消耗、技术栈成熟,运维易的云原生技术产品架构,成为了 Authing 的首选。

 

点击此处了解更多行业身份管理

「解决方案」以及「最佳实践案例」

文章作者

avatar

Authing 官方

0

文章总数

authing blog rqcode
关注 Authing 公众号
随时随地发现更多内容
authing blog rqcode
添加 Authing 小助手
加入 Authing 开发者大家庭
To create a perfect identity system
Online
How do you create a complete identity system?
Communicate Now
authing
Add Wecom to receive industry information
authing
authing
Download the Authing token and experience fast login authentication!
Free Trial
Online
Phone