OAUTH认证授权原理
2016-07-07 09:18
507 查看
1、OAUTH简介
OAuth(Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,并且这是安全的。2、OAUTH原理
分了四个步骤,下面是四步的讲解:
第一步:用户访问第三方网站,比如:就是你需要使用QQ进行登录的网站;
第二步:你点击QQ登录后,第三方网站将会连接并进行请求,比如:你点击登录后,第三方网站会跳转到QQ平台,提示你进行登录;
第三步:你要进行授权第三方网站对你的信息访问的一个权限,比如:当你QQ登录成功后,QQ会提示你,是否授权第三方Web访问你的用户基本信息或其他的资源信息,这时你点击授权即可;
第四步:授权后,第三方Web即可访问你刚才授权的资源信息。
3、OAUTH1.0认证流程
在OAuth 1.0认证中会用到三个重要的Url:第一个:Request Token Url,获取未授权的Token的Url;
第二个:User Authorization Url,请求用户对Token进行授权的Url;
第三个:Request Access Url,使用Token获取Access Token的Url。
第一步:网站向认证平台请求一个未授权的Token,这个Request Token Url是前面说的第一个Url;
第二步:跳转至用户授权页面,提示用户进行登录,并进行授权,返回获得已授权的Token,用到的User Authorization Url是前面说的第二个Url;
第三步:通过已授权的Token,向认证平台请求Access Token(数据令牌),用到的Request Access Url是前面说的第三个Url,返回后到这步整个认证流程就结束了
最后一步,是通过数据令牌等参数,调用接口获取用户信息,
4、OAuth2.0的认证流程
在OAuth2.0的处理流程,主要分为以下四个步骤:1、得到授权码code
2、获取access token
3、通过access token,获取OpenID
4、通过access token及OpenID调用API,获取用户授权信息
第一步:首先直接跳转至用户授权地址,即图示 Request User Url ,提示用户进行登录,并给予相关资源授权,得到唯一的Auth code,这里注意的是code只有10分钟的有
效期,对于安全考虑,相对于OAuth1.0省了一步获取临时的Token,并且有效期也进行了控制,比1.0认证简化了很多,并安全一些;
第二步:得到授权code后,这一步就是请求access token,通过 图示 Request access url ,生成得到数据Token;
第三步:通过Access Token请求OpenID,openid是用户在此平台的唯一标识,通过 图示 Request info url 请求,然后得到OpenID;
第四步:通过第二步得到的数据Token、第三步得到的OpenID及相关API,进行请求,获取用户授权资源信息。
5、JS代码示例
QQ登录的JS版本代码
新浪微博登录发布等JS版本代码
相关文章推荐
- OAUTH协议简介
- OAuth简介
- 利用js实现简单的图片切换(上下张切换)
- javascript浏览器对象——window对象
- js获取获取本星期第一天,本月第一天,本季度第一天
- javascript启程之路
- js基础
- RocketMQ,JStorm与Tair使用笔记
- RocketMQ,JStorm与Tair使用笔记
- JS魔法堂:定义页面的Dispose方法——[before]unload事件启示录
- 缺少双引号的字符串转换成Json对象
- 第五章 --- 关于Javascript 设计模式 之 发布-订阅模式
- 用原生的AJax代码发送JSON数据到Action使其自动类型转化
- JS刷新当前页面的几种方法总结
- JSON中的{}与[]
- javascript函数作用域和变量声明提前(variable hoisting)
- JSP生成responseXML
- JavaScript作用域示例详解
- 简单实现js页面切换功能
- javascript---变量