iOS OAuth2.0认证和SSO授权

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,就完成了一次授权。

时间: 2024-10-13 16:43:36

iOS OAuth2.0认证和SSO授权的相关文章

OAuth2.0授权和SSO授权

一. OAuth2.0授权和SSO授 1. OAuth2.0 --> 网页 --> 当前程序内授权 --> 输入账号密码 --> (自己需要获取到令牌, 自己处理逻辑) 授权成功 2. SSO授权 --> 对应的第三方App内授权 --> 一键登录 二. SSO授权的优势 1. 不用输入账号密码 --> 快速登录 (账号密码太长, 密码不记得, 密码输入错误) ,节省时间 2. 安全 --> 防止你的账号和密码信息过多的暴露给其他的App 3. 防止任一环节

新浪微博SSO登录方式及OAUTH2.0认证和获取我的微博

今天弄了下新浪微博SSO登录方式及OAUTH2.0认证和获取我的微博,实现的效果如下图: //========================================================================================================================== 就这么简单的界面,简单的请求json,我居然弄了一整天,主要是新浪微博的文档写的看不懂,感觉他们的文档跟他们的sdk接不上. 遇到的一个问题是: sso pac

使用Owin中间件搭建OAuth2.0认证授权服务器

前言 这里主要总结下本人最近半个月关于搭建OAuth2.0服务器工作的经验.至于为何需要OAuth2.0.为何是Owin.什么是Owin等问题,不再赘述.我假定读者是使用Asp.Net,并需要搭建OAuth2.0服务器,对于涉及的Asp.Net Identity(Claims Based Authentication).Owin.OAuth2.0等知识点已有基本了解.若不了解,请先参考以下文章: MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

OAuth2.0认证流程是如何实现的?

导读 大家也许都有过这样的体验,我们登录一些不是特别常用的软件或网站的时候可以使用QQ.微信或者微博等账号进行授权登陆.例如我们登陆豆瓣网的时候,如果不想单独注册豆瓣网账号的话,就可以选择用微博或者微信账号进行授权登录.这样的场景还有很多,例如登录微博.头条等网站,也都可以选择QQ或者微信登录的方式. 那么这样的第三方登陆方式到底是怎么实现的呢?难道是腾讯把我们QQ或者微信的账户信息卖给了这些网站不成?很显然,腾讯是不会这么干的,而这种登录方式的实现就是我们这篇文章中要给大家介绍的OAuth2.

C# 网络编程之豆瓣OAuth2.0认证详解和遇到的各种问题及解决

        最近在帮人弄一个豆瓣API应用,在豆瓣的OAuth2.0认证过程中遇到了各种问题,同时自己需要一个个的尝试与解决,最终完成了豆瓣API的访问.作者这里就不再吐槽豆瓣的认证文档了,毕竟人家也不容易.但是作者发现关于豆瓣OAuth认证过程的文章非常之少,所以想详细写这样一篇文章方便后面要做同样东西的人阅读.希望文章对大家有所帮助,尤其是想做豆瓣API开发的初学者. (文章中蓝色字表示官方文档引用,红色字是可能遇到问题及注意,黑色字是作者叙述) 一.误区OAuth1.0认证过程    

oauth2.0认证协议初解

关于oauth2.0认证协议的好处,这里不再做说明,如果是老鸟,也请不要再往下阅读,本文纯粹是作为一名菜鸟对oauth2.0的理解. 首先,要oauth认证需要几个东西:客户端.服务端以及第三方服务提供方,客户端是相对服务端来讲的,实际上第三方服务提供方往往就是客户端的拥有者,就拿某微博第三方服务来说,新浪微博就是服务端,客户端就是第三方服务提供商提供给服务端也就是新浪微博的身份标识,用来给第三方认证提供一个平台,第三方服务通过这个客户端取得用户对这个客户端的授权,然后第三方服务就可以调用一些新

C# 网络编程之豆瓣OAuth2.0认证具体解释和遇到的各种问题及解决

        近期在帮人弄一个豆瓣API应用,在豆瓣的OAuth2.0认证过程中遇到了各种问题,同一时候自己须要一个个的尝试与解决,终于完毕了豆瓣API的訪问.作者这里就不再吐槽豆瓣的认证文档了,毕竟人家也不easy.可是作者发现关于豆瓣OAuth认证过程的文章很之少,所以想具体写这样一篇文章方便后面要做相同东西的人阅读.希望文章对大家有所帮助,尤其是想做豆瓣API开发的刚開始学习的人. (文章中蓝色字表示官方文档引用,红色字是可能遇到问题及注意,黑色字是作者叙述) 一.误区OAuth1.0认

QQ互联Oauth2.0认证测试

我不太喜欢讲原理,喜欢按照应用流程一步步完成一个测试项目,然后掉过头来看原理. 如此. 首先,我们得建一个应用,这无可厚非. 来个网站应用吧! 填写基本信息时,有个网站地址,我们填写一个自己所维护的外部网站页面地址. 在HEAD标签里按照提示,嵌入验证代码,并加以验证. 回调地址填写相应的域名. 示例: 在新建的web项目里新加一个配置文件如下: app_ID = ******** app_KEY = ************************* redirect_URI = http:/

Oauth2.0认证原理

Oauth2.0 认证协议 Oauth2.0 应用场景: 微信联合登录     授权管理 互联网开放平台互相调用保证安全 微信提供api  给toov5调用  然后就可以获取一些微信的信息  比如微信头像 开放平台有 支付宝  微信 百度等等 不同的开放平台 对接的oauth2.0协议流程都是相同,无非接口地址不同 Oauth2.0原理 (appId appsecret access_token  openId  回调地址 授权地址) 使用: 在微信开放平台申请对应的appId信息 toov5生