iOS开发- OAuth2.0认证和SSO授权
来源:互联网 发布:vue.js pc端ui框架 编辑:程序博客网 时间:2024/06/06 20:02
OAuth2.0和SSO授权
一、OAuth2.0授权协议
一种安全的登陆协议,用户提交的账户密码不提交到本APP,而是提交到授权服务器,待服务器确认后,返回本APP一个访问令牌,本APP即可用该访问令牌访问资源服务器的资源。由于用户的账号密码并不与本APP直接交互,而是与官方服务器交互,因而它是安全的。
图示:
流程:
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,就完成了一次授权。
- iOS开发- OAuth2.0认证和SSO授权
- OAuth2.0和SSO授权
- OAuth2.0和SSO授权
- OAuth2.0 SSO授权
- 新浪博客开发 授权认证 OAuth2.0
- OAuth2.0认证和授权原理
- oauth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- oauth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- OAuth2.0认证和授权原理
- oauth2.0 认证和授权过程
- Linux中断(interrupt)子系统之五:软件中断(softIRQ)
- 收藏夹(一些可能会用到的文章)
- 调用webapi
- jQuery 的选择器大全
- HttpURLConnection 设置代理
- iOS开发- OAuth2.0认证和SSO授权
- Spring中使用MyBatis的简单配置
- 和为s的两个数字 【微软面试100题 第十四题】
- HTML5移动开发之路(20)—— AppCan开发环境
- 加载dll以及卸载dll相关的几个API
- PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
- 二叉树的镜像 【微软面试100题 第十五题】
- 机房重构总结之步履蹒跚
- IOS中AVAudioRecorder录音问题