当前位置:首页 > 后端开发 > OAuth2.0和SSO授权的区别

OAuth2.0和SSO授权的区别

6个月前 (05-28)52

OAuth2.0和SSO授权

 

一、OAuth2.0授权协议

一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源。由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的。

图示:

OAuth2.0和SSO授权的区别 _ Java侠

流程:

1、获取未授权的Request Token。

url:request token url。

param:appKey/appSecret,签名方法/签名(如HMAC-SHA1),timeStamp(时间戳:距1970/0/0/0/0/0的秒数),nonce(随机生成的string,防止重复请求)

response:Oauth_Token/Oauth_Secret

2、获取用户授权的Request Token。

url:user authorizition url。

param:Oauth_Token(上个步骤返回的令牌),callback_url(授权成功后返回的地址)

response:Oauth_Token(被用户授权或否决的令牌)

3、用已授权的Request Token换取AccessToken。

url:access token url。

param:appKey,Oauth_Token(上个步骤返回的令牌),签名,TimeStamp,nonce

response:Access_Token/Secret

 

二、SSO授权技术

全称:Single Sign On,用户只需登陆一次即可访问相互信任的子系统。用户访问系统1时,登陆成功后会返回一个ticket,当用户访问系统2时,会把ticket带上,待验证合法后即可访问系统2。听起来跟cookie有点像,没错,Web-SSO便有基于cookie的实现方案。

以新浪微博为例,很多手机APP在点击新浪授权时,会跳到新浪客户端的登陆页面,这里就用到SSO技术啦。在本APP授权新浪微博时,会先检测手机是否安装了新浪微博客户端,如果没有安装微博,则会调到weibo的网页版。

[[UIApplicationsharedApplication] openURL:xxx]可以打开另一个APP。这里sinaweibosso://login为客户端的url并传递三个参数,AppKey,RedirectURI,ssoCallbackScheme。

ssoCallbackScheme是返回的App Url地址,即自己定义的sinaweibosso.appKey。

登陆成功后,客户端会直接把AccessToken返回给本App,就完成了一次授权。

 

http://www.open-open.com/lib/view/open1421812532578.html

作者:全力以赴001
来源链接:https://www.cnblogs.com/huzi007/p/5633244.html

标签: OAuth2

“OAuth2.0和SSO授权的区别” 的相关文章

OAuth2.0授权详解

OAuth2.0授权详解

学习oauth认证之前先回顾一下通过sessionid的会话过程 关于session与cookie的请戳:https://www.cnblogs.com/moran1992...

OAuth2.0 入门与进阶

OAuth2.0 入门与进阶

 一、基础知识 1、OAuth产生背景   很多网站、APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户...

Security-OAuth2.0 密码模式之客户端实现

Security-OAuth2.0 密码模式之客户端实现

我的OAuth2.0 客户端项目目录   pom 的配置 <?xml version="1.0" encoding="UTF-8"?&...

OAuth2认证和jwt机制

OAuth2认证和jwt机制

一、OAuth2认证 OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使...

OAuth2.0 四种授权模式

OAuth2.0简单笔记(四种授权模式) 金天:坚持写东西,不是一件容易的事,换句话说其实坚持本身都不是一件容易的事。如果学习有捷径,那就是不断实践,不断积累。写笔记,其实是给自己看的,...

【转】OAuth2.0的refresh token

转载自http://www.html-js.com/?p=1297     最近看人人网的OAuth认证,发现他是OAuth2.0,之前一直看的是新...

SpringBoot2.x版本整合SpringSecurity、Oauth2进行password认证

SpringBoot2.x版本整合SpringSecurity、Oauth2进行password认证

很多人在进行项目开发时都会用到Oauth2.0结合SpringSecurity或者Shiro进行权限拦截以及用户验证,网上也有很多的案例,前几天项目里边需要用到,顺便整合了进来,特此写篇...

OAuth2 快速入门

OAuth2 快速入门

1 OAuth简述 OAuth 2.0 是一个授权协议,它允许软件应用代表(而不是充当)资源拥有者去访问资源拥有者的资源。应用向资源拥有者请求授权,然后取得令牌(token),并用...

[原创]Oauth2.0实现SSO单点登录的CAS方式和相关Demo演示

[原创]Oauth2.0实现SSO单点登录的CAS方式和相关Demo演示

SSO介绍 什么是SSO 百科:SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以...

Spring-Security-OAuth2微信网页授权

p.p1 { margin: 0; font: 11px Monaco; color: rgba(119, 119, 119, 1) } p.p2 { margin: 0; font:...