开放平台_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月前
|
移动开发 文字识别 算法
视觉智能开放平台产品使用合集之如何集成到使用钉钉端的H5应用中
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
小程序 API 开发者
淘宝开放平台的特点
淘宝开放平台的特点
198 0
|
数据可视化 Java 开发者
在天猫精灵开放平台上搭建自己的语音小助手
在天猫精灵开发平台中,对于新人官方很好的提供了一些轻代码的模板,在demo上稍微添加一些调用接口就可以轻松完成自己的需求,根据这一点,对于开发者来说是十分方便了,在demo基础上,很方便的就可以到达自己所需要的效果,也全程无需自己搭建环境,仅靠web端就可以实现代码编写、编译、调试、上线一整套流程。
1596 1
在天猫精灵开放平台上搭建自己的语音小助手
|
文字识别 算法 API
阿里云视觉智能开放平台产品上新
阿里云视觉智能开放平台(Vision Intelligent Application Programming Interface Platform)简称视觉智能平台,目前已经上线14大类目,包含190+个算法API。
598 0
阿里云视觉智能开放平台产品上新
天猫精灵开放平台入门使用
天猫精灵开放平台入门使用记录
672 0
天猫精灵开放平台入门使用
|
人工智能 自然语言处理 算法
天猫精灵开放平台体验
天猫精灵开放平台体验
862 0
天猫精灵开放平台体验
|
移动开发 小程序 物联网
我对天猫精灵开放平台的体验
我对天猫精灵开放平台的体验
722 0
我对天猫精灵开放平台的体验
|
测试技术 API 开发工具
饿了么开放平台接入(1)——开放平台注册与使用
本文目录 0. 序言 1. 背景 2. 注册账户 3. 资质认证 4. 创建应用 4.1 应用的概念 4.2 应用种类 4.3 应用的具体信息 5. 应用的测试环境(沙箱环境)与正式环境 5.1 沙箱环境概念 5.2 查看正式环境与沙箱环境 5.3 沙箱环境参数解释 6. 下一步工作
895 0
饿了么开放平台接入(1)——开放平台注册与使用
|
人工智能 自然语言处理 算法
天猫精灵开放平台的体验
天猫精灵开放平台的体验