OAUTH 协议介绍
OAUTH 产生背景
随着互联网的深入发展,一些互联网巨头积累了海量的用户和数据。对于平台级软件厂商来说,用户的需求多种多样,变化万千
以一己之力予以充分满足,难免疲于本命。因此将数据以接口的形式开放的众多的第三方开发者,便成了必然的趋势。第三方
开发者经过二次开发,满足一小部分用户的独特需求,即能够是自己获取利益,也能够让数据流动起来,在大平台周围形成一个
良性的生态环境能够,最终达到用户,平台商,第三方开发者共赢,在这样的背景下就诞生了OAUTH协议。
OAUTH介绍
OAUTH 协议旨在为用户资源的授权访问提供一个安全,开放的标准。平台商通过OAUTH协议,提示用户对第三方软件厂商(ISV)进进行授权。
使得第三方软件厂商能够使用平台商的部分数据,对用户提供服务。与以往的授权形式不同,OAUTH协议并不需要触及用户的账户信息和
密码,变可以完成第三方对用户信息访问的授权。
用户通过平台商对第三方应用进行授权,而第三方应用得到授权后,便可以对一定时间内,通过平台商提供接口,访问到用户授权的信息,
为用户提供服务。
OAUTH授权过程
协议的核心思想是将资源做权限分级和隔离,ISV引导用户在平台端登录,完成授权。获得授权后ISV可以在一定时间段内,访问用户的私有
数据,用户完全可以把控这一过程,且授权可以取消。
要活的OAUTH协议授权:
1需要第三方开发者向平台商申请应用ID,即APPID,对自己的APP进行注册。
2.一次OAUTH授权包括三个角色:
1.普通用户
2.第三方应用(ISV)
3.平台商。
3. 授权过程如下:

1.用户先对ISV的应用进行访问,发起请求。
2.ISV接收到用户请求后,再向平台商请求REQUEST TOKEN,并带上其申请的APPID.
3.平台将返回给ISV应用 REQUEST TOKEN.
4.ISV应用将用户引导到平台授权页面,并带上自己的APPID,REQUEST TOKEN和回调地址。
5.用户在平台页面上进行登录,并且完成授权。(这样就不会将用户名,密码暴露给第三方)。
6.平台通过ISV提供的回调链接,返回给ISV应用ACCESS TOKEN。
7.ISV 应用通过 ACCESS TOKEN 取到用户授权数据,进行加工后返回给用户,授权数据访问完成。
OAUTH 协议介绍的更多相关文章
- OAUTH协议介绍
OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可 ...
- 集成基于OAuth协议的单点登陆
在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...
- 认证授权:学习OAuth协议
1.什么是OAuth协议? OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.同时,任何第三方都可以使用OAuth认证服务,任何服务提供商都可以实现自身的OAuth认证服务,因而OA ...
- oauth协议
微博 : 新浪 腾讯 OAuth 新浪微博 APP开发 步骤:1.注册新浪开发者账号 获取以下信息 client_id 123456 标示应用身份的 唯一的 有的也叫App Key sec ...
- TCP/IP 协议介绍
转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...
- 第二章 ZAB协议介绍
ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...
- JSON-RPC轻量级远程调用协议介绍及使用
这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...
- oAuth协议学习
我们的项目需要为一个认证网站开发一套API,这些API可以提供给很多公司来调用,但是公司在调用之前,必须先做授权认证,由此接触到了oAuth协议. 以下内容来自网络整理 定义 OAUTH协议为用户资源 ...
- [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
[转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP ...
随机推荐
- CGAL4.4+VC2008编译
一: CGAL是欧盟资助的基础几何库,很底层, 纯算法, 对于你的项目和科研都是不可多得的好东西, 废话一句, 国内做这样的东西, 估计会活不下去交不了差的. 不多介绍.送上 英文原址, 从软件角度, ...
- 推荐一款炫酷的提示框插件SweetAlert
官方网址 http://t4t5.github.io/sweetalert/ 项目地址 https://github.com/t4t5/sweetalert
- @media 手机与IPAD与PC
@media screen and (min-width: 769px) { bindCard{height:28.5em} } @media screen and (min-device-width ...
- 超实用的8个Linux命令行性能监测工具
http://www.csdn.net/article/2012-09-17/2810047-command-line-tools-to-monitor-linux-perf 你值得拥有:25个Lin ...
- Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...
- ASP.NET MVC数组模型绑定
在ASP.NET MVC中使用Razor语法可以在视图中方便地展示数组,如果要进行数组模型绑定,会遇到索引断裂问题,如下示例: <input type="text" name ...
- I'm back for Machine Learning
Hi, Long time no see. Briefly, I plan to step into this new area, data analysis. In the past few yea ...
- 关于解决JQUERY对INPUT元素Change事件不兼容的问题
最近开发一个项目,需要实现用户在WEB表单里的多个INPUT框中输入数量后,立即自动计算加总各项输入的数量之和,并显示在指定的INPUT框中,这个功能实现的原理是简单的,就是只需要在INPUT的onc ...
- .NET 笔试题--自已作答
以下题目,我已全部作答,答案仅供参考!水平和理解有限,可能有误,欢迎指正,谢谢! 1. 填空: (1)面向对象的语言具有__继承______性._____多态____性.____封装____性. (2 ...
- Gradle学习系列之五——自定义Property
在本系列的上篇文章中,我们讲到了增量式构建,在本篇文章中,我们将讲到如何自定义Project的Property. 请通过以下方式下载本系列文章的Github示例代码: git clone https: ...