我对SSO单点登录和OAuth2.0的理解

简介: 单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,用户只需一次登录就可以访问所有相互信任的应用系统。比如我们登录了公司的OA系统之后,在页面上点击邮件系统,则无需再跳转到邮件的登录页面,点过去就直接登录成功了。

一、概述


单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,用户只需一次登录就可以访问所有相互信任的应用系统。比如我们登录了公司的OA系统之后,在页面上点击邮件系统,则无需再跳转到邮件的登录页面,点过去就直接登录成功了。


OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方 应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他 们数据的所有内容。


二、区别


单点登录需要一个SSO认证系统用来登录,保存用户的登录信息;比如现在有系统A和系统B,首先访问系统A,发现未登录,那么跳转到 SSO 认证系统来登录,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,即得到了授权。子系统拿到令牌后,向SSO认证系统验证令牌的真伪,通过后,使用该令牌创建与用户的会话,key为用户字段,值为token,称为局部会话,返回受保护资源。系统B访问时,发现未登录,跳转到认证中心,认证中心发现已经登录,返回令牌,系统B拿到令牌后,验证真伪,通过后,创建会话,返回受保护资源。


OAuth 2.0的运行流程:


sso.png


(A)用户在浏览器打开京东商城,选择第三方微信登录,京东商城请求微信开放平台要求用户给予授权(目前是用户使用微信扫码)


(B)用户扫码后,微信开放平台会返回一个code给京东商城。


(C)京东商城使用上一步获得的授权code和在微信开放平台申请的appidappsecret等信息,向微信开放平台换取access_token


(D)微信开放平台认证通过后,返回access_token


(E)此时,京东商城可以通过拿到的 access_token微信开放平台获取受保护的资源信息,如用户的手机号等


(F)微信开放平台验证access_token正确后,返回手机号


(G)京东商城根据手机号判断是否注册过,注册过,直接登录成功;未注册过,在后台为其注册账号,前天显示登录成功。


目录
相关文章
|
4月前
|
存储 安全 数据安全/隐私保护
SSO 单点登录与 OAuth2.0 的技术区别与应用
【8月更文挑战第24天】在现代软件开发和企业信息化建设中,身份认证与授权是不可或缺的一环。SSO(Single Sign-On,单点登录)和OAuth 2.0作为两种重要的身份认证与授权机制,各自具有独特的特点和应用场景。本文将详细探讨这两种机制的区别,并分享在工作学习中的技术干货。
168 0
|
7月前
|
安全 数据安全/隐私保护 UED
|
JSON 安全 Cloud Native
什么是单点登录?什么又是 OAuth2.0?
什么是单点登录?什么又是 OAuth2.0?
175 0
|
存储 安全 前端开发
基于OIDC的SSO单点登录
基于OIDC的SSO单点登录
1174 0
|
安全 前端开发 JavaScript
|
消息中间件 前端开发 JavaScript
SSO 单点登录和 OAuth2.0 的区别和理解
SSO 单点登录和 OAuth2.0 的区别和理解
|
NoSQL 前端开发 安全
我们来聊聊单点登录吧
我们来聊聊单点登录吧
我们来聊聊单点登录吧
|
前端开发 算法 安全
单点登录 SSO 的实现
单点登录让你一次性解决多应用认证的繁琐
400 3
单点登录 SSO 的实现
|
存储 安全 前端开发
OIDC SSO - OAuth2.0的授权模式选择
## 背景信息 > OIDC SSO相关文档总共4篇,主要内容为对OIDC实现SSO登录流程时的各个细节和相关技术的阐述:1. 《OIDC SSO - OAuth2.0的授权模式选择》 2. 《[OIDC SSO - 相关SSO流程和注意事项](https://ata.alibaba-inc.com/articles/218495)》 3. 《[OIDC SSO - Discovery Mech
1100 0
OIDC SSO - OAuth2.0的授权模式选择