开放平台_OAuth1.0

OAuth1.0简介

 

oauth1.0是RFC制定的标准的第三方网站/客户端的认证服务

规范文档在:

http://www.ietf.org/rfc/rfc5849.txt

 

网站使用oauth的目的是不让第三方开发者知道和记录用户的用户名和账号信息,用户在第三方应用登录服务的时候是在客户端提供的登录页面进行登录和验证的。

 

国内几家大型网站都已经实现了oauth1.0,比如微博,腾讯,开心等

 

下面以weibo的oauth1.0实现为例说明:

oauth认证分服务器端和客户端

 

客户端的步骤是:

1 获取未授权的Request Token

2 请求用户授权Request Token

3 使用授权后的Request Token换取Access Token

 

服务器端的步骤是:

1 发放未授权request_token

2 将用户转到本网站的用户登录页

3 用户登录成功后,返回授权后的request_token和凭证

4 发放最终可以使用的凭证access_token

 

具体客户端和服务器端操作说明:

1

注册组件 

当第三方在服务器网站注册了一个第三方组件,会获得appkey和secret

appkey是第三方组件的唯一标识

secret是第三方组件用来加密或其他处理的密钥(这个信息只有第三方应用和服务器端有)

 

2

客户端请求未授权的RequestToken

 

接口:

http://api.t.sina.com.cn/oauth/request_token

 

调用的参数


参数名


必选


介绍


oauth_consumer_key


true


API Key(组件信息中的APP Key值)


oauth_signature_method


true


签名方法,暂只支持HMAC-SHA1


oauth_signature


true


签名值


oauth_timestamp


true


时间戳,其值是距1970 00:00:00 GMT的秒数,必须是大于0的整数


oauth_nonce


true


单次值,随机生成的32位字符串(每次请求必须不同)


oauth_callback


true


认证成功后浏览器会被重定向到这个url中


oauth_version


flase


版本号,如果填写必须为1.0

 

其中的参数说明

oauth_signature 是使用secret进行签名

oauth_callback和oauth_timestamp是为了放重放的

 

3

服务器端接收到request_token的未授权请求

应该有如下行为:

1 生成request_token和request_secret

2 在服务器端记录下生成的request_token和request_secret

3 返回request_token和request_secret

 

 

4

客户端接收到返回回来的request_token和request_secret,使用这两个值来请求授权的request_token(即认证)

 

接口:

http://api.t.sina.com.cn/oauth/authorize

 

请求参数:


参数名


必选


意义


oauth_token


true


上一步中获得的未授权的Request Token

 

5

服务器端收到认证请求

做如下操作:

1 将请求的oauth_token和服务器端已存的oauth_token进行比较,正确执行2,错误返回异常

2 将客户端(比如浏览器)转到用户在weibo上的认证页面

 

6

客户端展示认证页面提供给用户登录认证

 

7

用户登录认证成功

 

8

服务器端等待用户登录认证成功之后

1 生成request_token已验证的凭证oauth_verifier

2 将request_token和用户ID,应用ID,验证码oauth_verifier进行映射,并存储

3 返回给客户端信息:

 


参数名


必选


意义


oauth_token


true


用户授权之后的Token值,与未授权Token值相同


oauth_verifier


true


验证码

 

oauth_verifier是已验证凭证

4 转到用户请求未授权request_token时请求的oauth_callback地址

(一般第二步和第三步是同时进行的,转到的oauth_callback地址的同时传递结果)

 

 

9

请求access_token 

客户端现在已经有了:

appkey //组件申请时获得

secret //组件申请时获得

request_token//组件请求未授权request_token时获得

request_secret//组件请求未授权request_token时获得

oauth_veifier//组件请求授权request_token时获得

 

将secret&request_secret作为加密的key对参数进行加密请求:

(这步是来请求可以直接使用的凭证access_token)

 

http://api.t.sina.com.cn/oauth/access_token

 

参数


参数名


必选


意义


oauth_consumer_key


true


API Key


oauth_token


true


第一步中获得的Request Token


oauth_signature_method


true


签名方法,暂只支持HMAC-SHA1


oauth_signature


true


签名值,(密钥为:APP Secret&Request Token Secret)


oauth_timestamp


true


时间戳, 其值是距1970 00:00:00 GMT的秒数,必须是大于0的整数


oauth_nonce


true


单次值,随机生成的32位字符串,防止重放攻击(每次请求必须不同)


oauth_verifier


true


上一步请求授权request token时返回的验证码


oauth_version


flase


版本号,如果填写必须为1.0

 

10

服务器端获取到access_token的请求做如下操作:

1 校验request_token是否正确且已经被授权过(校验的内容有1 签名2 oauth_verifier 3 oauth_token)

2 生成access_token和access_token_secret

3 将access_token,access_token_secret,用户ID,应用ID进行映射,并存在服务器数据库(长期有效)

3 将access_token和access_token_secret返回

 

11

客户端使用access_token和access_token_secret进行其他接口的请求

 

参考文章:

http://open.weibo.com/wiki/Oauth

http://www.ietf.org/rfc/rfc5849.txt

http://wiki.open.kaixin001.com/index.php?id=OAuth%E6%96%87%E6%A1%A3

http://dev.baidu.com/wiki/app/index.php?title=OAuth1.0

时间: 2024-12-03 07:02:09

开放平台_OAuth1.0的相关文章

侯晓楠发布腾讯开放平台3.0年度战略

1月22日,腾讯开放平台.移动应用平台副总经理侯晓楠在2015中国互联网产业峰会上发布了腾讯开放平台3.0年度战略,称在保持PC端优势.开拓移动端分发市场的同时,看好物联领域的巨大机会,将推进构建QQ物联创业平台. 侯晓楠认为,屏幕之外存在很多蓝海市场,而未来十年的机会在于互联网与其他行业的不断融合."我们看到物联网平台酝酿着巨大机会,腾讯最核心的优势是是软件.用户.资源.入口.数据等大平台的海量覆盖,所以希望通过更多的流量.服务.云.创业体系的开放来撬动硬件市场". 为了构建QQ物联

苏宁的开放平台3.0不是简单模仿,而是电商“自贸区”

苏宁的开放平台3.0并非简单模仿,而是电商"自贸区"--昨晚,在北京水立方的苏宁开放平台上线发布会上,苏宁易购执行副总裁李斌语惊四座.与其他电商不同,转型而来的苏宁云商拥有庞大的线下门店和覆盖全国的物流体系.其"自贸区"向全球商户开放:只要符合招商标 准便可免费进驻:同时由平台向商户提供经营过程中必需的低成本配套服务,如金融服务.仓储物流.中介等:商户享有高度的经营自主权和利润分配权-- 昨夜的水立方座无虚席,近千名商家.专家和媒体专程前来聆听苏宁的"大想

开放平台_OAuth2.0

为什么出现oauth2.0   1 oauth1.0对手机客户端,移动设备等非server第三方的支持不好.其实oauth1.0也是可以支持手机客户端,移动设备等,也有相应的流程.但是oauth1.0是将多种流程合并成了一种,而事实证明,这种合并的流程体验性非常差 2 oauth1.0的三步认证过程比较繁琐和复杂,对第三方开发者增加了极大的开发难度 3 oauth1.0的加密需求过于复杂,第三方开发者使用oauth之前需要花费精力先实现oauth1.0的加密算法 4 oauth1.0的拓展性不够

 苏宁酝酿已久的开放平台终于上线

苏宁酝酿已久的开放平台终于上线.9月12日,苏宁在水立方召开了千人规模的开放平台战略大会,在此之后,还将在南京等11个城市召开招商大会,足以看出其对开放平台的投入力度. 这是继年初公司更名.6月线上线下同价之后,苏宁云商的又一重要动作.苏宁开放平台的发展,将直接影响未来苏宁的业绩.按照苏宁云商副董事长孙为民的规划,未来,苏宁开放平台的销量一定会超过自营. 从时机来看,苏宁开放平台比京东晚了近三年.面对发展成熟的天猫.占据先机的京东,苏宁开放平台将会走出一条什么样的道路呢? 差异化竞争策略 从苏宁

苏宁易购李斌:打造O2O双线开放平台 永久免年费

中介交易 SEO诊断 淘宝客 云主机 技术大厅 苏宁易购李斌(TechWeb配图) [TechWeb报道]9月13日消息,今年2月19日,苏宁电器发布公告,将公司名称变更为"苏宁云商集团股份有限公司",自此苏宁加速互联网转型,发布了互联网路线图,布局O2O模式. 8月28日,苏宁对外宣传全面转型互联网企业,苏宁云商定位"电商+店商+零售服务商",计划将企业自身的商业资源全面云化,进行社会化共享,经营全品类.拓展全渠道.服务全客群,填补了"零售服务商&quo

苏宁也玩开放平台,B2C商城劲敌再现

网购在国内蓬勃的发展势头,让谁都不敢小觑它,也吸引了诸多的企业全身心投入其中.虽然网购的模式多种多样,但说到底不外乎两种:C2C以及B2C,其他所有貌似新鲜的概念都是基于这两种模式发展而来.随着C2C模式的逐渐平稳,B2C正逐渐成为最耀眼的那顶王冠.而在这顶王冠上,最迷人的无过于开放平台. 淘宝上的天猫已经独立门户,每年销售额破2000亿,稳坐投吧交椅:京东商城上的开放平台年交易额也超过200亿:国美在线.当当网.亚马逊.Q Q网购等也早已开放平台--可以说,开放平台已经越来越成为B2C电商所倚

华南千余名商户入苏宁开放平台

苏宁开放平台日前举办广东区域招商大会.苏宁方面透露,华南区域有1000多名商户将加入苏宁开放平台,包括周生生.广州酒家.蓝月亮等本土品牌纷纷加盟. 被定义为开放平台3 .0模式的苏宁开放平台展示了其四大核心特点:双线开放.统一承诺.精选优选和免费政策,与竞争对手天猫.京东展开全面对抗.苏宁方面表示,进驻后的商家除了可以将产品销售通过互联网扩张至全国范围外,还可以落地到本地门店.目前,苏宁在广东拥有200多家门店. 华南千余名商户入苏宁开放平台 在昨日参加华南区域招商大会的1000余家商户中,服装

免费+本地化:苏宁开放平台法宝

"今年招商的三免优惠政策,即永久免除年费.技术服务费以及百货.日用.图书等重点招商品类佣金,让商户实现零成本入驻."在昨日下午苏宁开放平台广东区域招商大会上,苏宁易购执行副总裁李斌表示,将颠覆现有的平台模式. 免费颠覆现有平台体系 与阿里.京东倚靠平台使用费.佣金等收费模式不同,定义为开放平台3.0模式的苏宁开放平台大打"免费"牌.在昨天的会议现场,李斌表示,将苏宁开放平台比喻成上海自贸区的开放平台,苏宁不仅对商户永久免除年费.技术服务费和日用.百货.服装.鞋帽.图

腾讯开放平台市场团队:从0到300万开发者的聚拢

(腾讯开放平台市场团队合影) [腾讯开放三周年•团队故事]三年前,腾讯刚刚提出"开放"时曾面临过无数的质疑和不屑,彼时大家都觉得腾讯帝国跟"开放"完全不沾边.三年后,腾讯开放平台聚拢300万开发者,应用覆盖页游.网游.创新应用等全部品类,明星开发者更是不胜枚举.通过三年的不懈努力,腾讯开放平台已然为中国的开发者打造了一个欣欣向荣的创业生态圈,在开放自身能力为开发者助力的同时,也为国内就业和创收做出了独特的贡献.这些傲人的成绩与常年充当先锋军的腾讯开放平台市场团队密不