OAuth(开放授权)

本文转自:http://my.oschina.net/AlexZhuang/blog/54393

现在各大互联网公司(tencent , sina , baidu ,renren....)都已经推出了自己的开放平台,换而言之,开发者可以通过平台API去访问和操作用户在这些公司存储的数据,例如开发者可利用API在第三方应用实现对微博的发布、转发和删除,也可以获得用户的粉丝和关注人数据。

开发平台所遵循的标准就是OAuth,下面是OAuth的基本概念和认证授权过程:

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。

认证和授权的过程中涉及的三方包括:

  • 服务提供方 (Service Provider),用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
  • 用户 (User),存放在服务提供方的受保护的资源的拥有者。
  • 客户端 (Client),要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。

使用OAuth进行认证和授权的过程如下所示:

  1. 用户访问客户端的网站,想操作用户存放在服务提供方的资源。
  2. 客户端向服务提供方请求一个临时令牌 (Request Token)。
  3. 服务提供方验证客户端的身份后,授予一个临时令牌。
  4. 客户端获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供方。
  5. 用户在服务提供方的网页上输入用户名和密码,然后授权该客户端访问所请求的资源。
  6. 授权成功后,服务提供方引导用户返回客户端的网页。
  7. 客户端根据临时令牌从服务提供方那里获取访问令牌 (Access Token)。
  8. 服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。
  9. 客户端使用获取的访问令牌访问存放在服务提供方上的受保护的资源。
相关链接:

新浪微博开发平台:http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6

腾讯微博开发平台:http://wiki.open.t.qq.com/index.php/%E5%B9%B3%E5%8F%B0%E4%BB%8B%E7%BB%8D

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值