前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS开发-OAuth2.0和SSO授权

iOS开发-OAuth2.0和SSO授权

作者头像
孙寅
发布2020-06-02 22:43:49
9050
发布2020-06-02 22:43:49
举报
文章被收录于专栏:宜达数字宜达数字

OAuth2.0:

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

例如:地下城就是你的游戏,第三方应用,QQ平台就是你的家。想让第三方应用去你的家里做一些事。你可以复制给他们一把钥匙(用户名和密码),我们要注意三个问题: - 别人拿了钥匙后可以去你家里任何地方 - 别人拿到你家的钥匙后也许会不小心丢到,甚至故意送到其他人手里。如何保证家的安全性? - 一段时间后,你不想别人拥有你的钥匙了,如何回收?

OAuth 是高级钥匙:
  • 可以配置不同权限的钥匙串。有些只能进客厅(读取你的QQ昵称)。有些钥匙可以进卧室(读取QQ头像)
  • 钥匙上带着指纹验证的(指纹 = appkey)。 收到钥匙的人只能自己用,不能转让
  • 远程废除之前发出的钥匙相对来说, OAuth比给出用户名密码安全

流程:   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授权新浪微博时,会先检测手机是否安装了新浪微博客户端。

代码语言:javascript
复制
[[UIApplication sharedApplication] openURL:xxx]

可以打开另一个APP 这里sinaweibosso://login为客户端的url并传递三个参数,AppKey,RedirectURI,ssoCallbackScheme。   ssoCallbackScheme是返回的App Url地址,即自己定义的sinaweibosso.appKey。   登陆成功后,客户端会直接把AccessToken返回给本App,就完成了一次授权。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • OAuth2.0:
    • OAuth 是高级钥匙:
    • 二、SSO授权技术
    相关产品与服务
    访问管理
    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档