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 ...
随机推荐
- Apache配置多个网站的方法
Apache的虚拟主机是一种允许在同一台机器上,运行超过一个网站的解决方案.虚拟主机有两种,一种叫基于IP的(IP-based),另一种叫基于名字的(name-based).虚拟主机的存在,对用户来说 ...
- C++:不同类型的指针的本质与差异
转自:http://blog.csdn.net/richerg85/article/details/10076365 指针的类型(The Type of a Pointer) 一 ...
- [JAVA词形还原工具]Snowball
demo:http://snowball.tartarus.org/demo.php jar download:http://snowball.tartarus.org/download.php (J ...
- ASP.NET绑定控件语法
1.DropDownList 前端代码aspx: <asp:DropDownList ID="ddl_meetingroom" runat="server" ...
- 【转】Linux下svn常用指令
转自: http://blog.csdn.net/myarrow/article/details/8110858 1.将文件checkout到本地目录svn checkout path(path是服务 ...
- apache 500错误
一直以为开了error_log,没想没有加,于是折腾了好久. 开启error_log后,发现是xdebug的max_nesting_level值太小了. 还一个原因是.htaccess文件中的 < ...
- Linux高级编程--07.进程间通信
每个进程各自有不同的用户地址空间,进程之间要交换数据必须通过在内核中开辟缓冲区,从而实现数据共享. 管道 管道是一种最基本的IPC机制,由pipe函数创建: int pipe(int filedes[ ...
- linux 多台 主机的免登录ssh的配置
1.首先检查 有没有安装ssh rpm-qa | grep ssh 如果没有安装 yum install ssh 2.在每一台机器上执行 ssh-keygen -t rsa 会在root/.ssh ...
- HMM 自学教程(八)总结
本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在HMM 学习最佳范例,这是针对国外网站上一个 HMM 教程的翻译,作者功底很深,翻译得很精彩,且在 ...
- [linux]收集一些好玩的命令
1.rev命令 反转输出,输入的字符串. 在终端中输入:rev 输入需要字符串(支持中文) 2.asciiview命令 安装aview:apt-get install aview 再安装imagema ...