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 协议介绍的更多相关文章

  1. OAUTH协议介绍

    OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可 ...

  2. 集成基于OAuth协议的单点登陆

    在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...

  3. 认证授权:学习OAuth协议

    1.什么是OAuth协议? OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.同时,任何第三方都可以使用OAuth认证服务,任何服务提供商都可以实现自身的OAuth认证服务,因而OA ...

  4. oauth协议

    微博 : 新浪 腾讯 OAuth 新浪微博   APP开发 步骤:1.注册新浪开发者账号 获取以下信息 client_id  123456  标示应用身份的  唯一的  有的也叫App Key sec ...

  5. TCP/IP 协议介绍

    转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...

  6. 第二章 ZAB协议介绍

    ZAB ( ZooKeeper Atomic Broadcast , ZooKeeper 原子消息广播协议)是zookeeper数据一致性的核心算法. ZAB 协议并不像 Paxos 算法那样,是一种 ...

  7. JSON-RPC轻量级远程调用协议介绍及使用

    这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用.jsonrpc4j使用Jackson类库实现Java对象与JSON对象之间的相互转换.jsonrpc4j包含一个JSON- ...

  8. oAuth协议学习

    我们的项目需要为一个认证网站开发一套API,这些API可以提供给很多公司来调用,但是公司在调用之前,必须先做授权认证,由此接触到了oAuth协议. 以下内容来自网络整理 定义 OAUTH协议为用户资源 ...

  9. [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)

    [转]流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls) http://blog.csdn.net/tttyd/article/details/12032357 RTP       ...

随机推荐

  1. ruby 中文字符to_json后乱码(unicode)

    今天遇到一个中文to_json问题 text = "第1章 青豆 不要被外表骗了" text.to_json => "\"\\u7b2c1\\u7ae0 ...

  2. K3 WISE开发手册

    1.VB插件工程的命名.命名空间和生成的DLL命名要一致,否则导致注册不成功!

  3. 转:Transform Web.Config when Deploying a Web Application Project

    Introduction One of the really cool features that are integrated with Visual Studio 2010 is Web.Conf ...

  4. css3 keyframes在yuicompressor下压缩问题

    @keyframes proBackAction { 0% { opacity:; } 100% { opacity: .8; } } @keyframes proBackAction { 0{ op ...

  5. Eclipse中使用Junit编写测试用例

    Eclipse自带Junit插件,不用安装就能在项目中编写测试用例,非常方便. 在项目中添加Junit库 在编写测试用例之前,需要先引入Junit.对项目根目录右键,选择Properties,Java ...

  6. GNOME3任务栏、标题栏过宽问题

    Debian 7.0 默认安装的是GNOME 3.4.2桌面系统,缺省状态下,用户会发现桌面系统的桌面任务栏及标题栏宽度太大,影响美观,同时也浪费屏幕显示的有效宽度,针对这个问题我们可以通过以下方式进 ...

  7. 【分布式】RPC初探

    事先声明:本文代码参考自Dubbo作者的博客. RPC(Remote Procedure Call)远程过程调用,是分布式系统当中必不可少的一个玩意.比如说在单机系统当中,我想调用某个方法,直接调就可 ...

  8. 20款优秀的国外 Mobile App 界面设计案例

    在下面给大家分享的移动应用程序界面设计作品中,你可以看到不同创意类型的视觉效果.如果你想获得灵感,那很有必要看看下面20个优秀用户体验的移动应用 UI 设计.想要获取更多的灵感,可以访问移动开发分类, ...

  9. HTML简明教程(一)

    HTML简明教程(一) 内容主体来自:W3School 一.HTML 简介 二.HTML 基础 三.HTML 元素 四.HTML 属性 五.HTML 标题 六.HTML 段落 七.HTML 文本格式化 ...

  10. 深度使用react-native的热更新能力,必须知道的一个shell命令

    开篇之前,先讲一个自己开发中的一个小插曲: 今天周日,iOS版 App 周一提交,周三审核通过上架,很给力.不过,中午11:30的时候,运营就反应某个页面有一个很明显的问题,页面没法拉到底部,部分信息 ...