开放平台_XAuth

简介:

xAuth

XAuth也是一种OAuth的认证方法

 

结构和流程上看XAuth是一种oauth1.0oauth2.0的集合者

 

oauth2.0access_token接口步骤 + oauth1.0的签名方法

 

为什么出现XAuth?

 

现在需求是:

不希望有oauth1.0的三步复杂的认证流程,希望直接使用用户名和密码就可以完成(这对于移动设备的第三方应用非常需要)

不希望取得access_token之后使用https来调用接口

当然最总要紧的是还要保证数据的安全性

 

那么就有一种方法:

XAuth

 

特别说明:

1 xauth最早是twitter使用的,很多人都认为是由twitter开发的xauth,后在国内的网站weibo也使用了

2 xauth没有正式成为ietf推广的方案

3 xauth应该是在oauth1.0出现推广之后,oauth2.0出现之前这个阶段出现的产物

4 twitterweibo并不是允许所有的应用都可以使用xauth,都要求第三方需要向网站提交申请,主要考虑到xauth的安全性和流程确实不如oauth可靠

5 xauth主要适用于非server的第三方

6 xauth的客户端实现可以直接使用oauth1.0的实现,服务器端的实现也只是需要在access_token的接口中多增加一个分支,因此对应于实现了oauth1.0开发的第三方应用和网站来说是非常容易实现的

 

XAuth的步骤

 

XAuth的步骤非常简便(twitter为例):

 

客户端https请求access_token

 

https://api.twitter.com/oauth/access_token

 

oauth_consumer_key - JvyS7DO2qd6NNTsXJ4E7zA //appkey,应用申请时候获得

oauth_consumer_secret - 9z6157pUbOBqtbm0A0q4r29Y2EYzIHlUwbF4Cl9c //secrect 应用申请时获得

oauth_nonce - 6AN2dKRzxyGhmIXUKSmp1JcB4pckM8rD3frKMTmVAo //防重放唯一数

oauth_signature_method - HMAC-SHA1 //加密算法

oauth_timestamp – 1284565601//时间戳

oauth_version - 1.0 //oauth版本

x_auth_mode - client_auth //xauth的标志

x_auth_password - twitter //用户密码

x_auth_username – testuser //用户名

 

注:其中的签名方法是和oauth1.0一样的,所以客户端的实现可以直接使用各大网站oauth1.0已有的框架和SDK(我认为这是导致xauth出现的原因之一)

 

这步和oauth2.0username-password一样,但是签名和参数设置又是和oauth1.0一样

 

服务器端接收到xauth请求

使用oauth1.0的签名方式验证

验证用户名和密码

生成access_token,secret

直接将access_tokensecrect返回给客户端

 

客户端得到access_tokensecret后直接使用oauth1.0的流程请求接口

 

 

 

参考资料:

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

https://dev.twitter.com/docs/oauth/xauth

http://yourhead.tumblr.com/post/428643811/five-things-you-didnt-know-about-xauth

http://aralbalkan.com/3057

http://xauth.org/spec/

 

作者:yjf512(轩脉刃)

出处:http://www.cnblogs.com/yjf512/

本文版权归yjf512和cnBlog共有,欢迎转载,但未经作者同意必须保留此段声明 

目录
相关文章
|
6月前
|
自然语言处理 小程序 机器人
云钉开放平台
云钉开放平台
|
6月前
|
小程序 API 开发者
淘宝开放平台的特点
淘宝开放平台的特点
|
文字识别 算法 API
阿里云视觉智能开放平台产品上新
阿里云视觉智能开放平台(Vision Intelligent Application Programming Interface Platform)简称视觉智能平台,目前已经上线14大类目,包含190+个算法API。
500 0
阿里云视觉智能开放平台产品上新
|
人工智能 自然语言处理 算法
带你“第一人称”在天猫精灵开放平台实践
手把手带你体验天猫精灵开放平台
821 0
带你“第一人称”在天猫精灵开放平台实践
天猫精灵开放平台入门使用
天猫精灵开放平台入门使用记录
570 0
天猫精灵开放平台入门使用
|
人工智能 自然语言处理 算法
天猫精灵开放平台的体验
天猫精灵开放平台的体验
|
移动开发 小程序 物联网
我对天猫精灵开放平台的体验
我对天猫精灵开放平台的体验
609 0
我对天猫精灵开放平台的体验
|
人工智能 自然语言处理 算法
天猫精灵开放平台体验
天猫精灵开放平台体验
767 0
天猫精灵开放平台体验
|
数据可视化 Java 开发者
在天猫精灵开放平台上搭建自己的语音小助手
在天猫精灵开发平台中,对于新人官方很好的提供了一些轻代码的模板,在demo上稍微添加一些调用接口就可以轻松完成自己的需求,根据这一点,对于开发者来说是十分方便了,在demo基础上,很方便的就可以到达自己所需要的效果,也全程无需自己搭建环境,仅靠web端就可以实现代码编写、编译、调试、上线一整套流程。
1461 1
在天猫精灵开放平台上搭建自己的语音小助手
|
人工智能 自然语言处理 程序员
腾讯AI开放平台的接口调用指南
腾讯AI开放平台的接口调用指南
510 0
腾讯AI开放平台的接口调用指南