微博开放平台
微连接
移动应用
网站接入
电商服务商
电商商家
数据服务
数据服务
合作伙伴
微博支付
轻应用
粉丝服务
文档
推广
我的应用
登录
weibo
开发文档
首页
平台政策与指引
概述
平台公约
新手指南
开发者协议
应用运营管理规范
微连接分级管理办法
应用审核产品指南
应用安全开发注意事项
平台应用设计规范
微服务接入指南
微博登录接入
用微博帐号登录
授权机制
移动应用接入
移动应用介绍
移动应用SSO授权
微博Deep Link
媒体接入平台
头条文章开放接口
视频上传开放接口
电商接入平台
电商服务商接入
电商商家端接入
电商平台能力接口
粉丝服务平台
粉丝服务平台
新手接入指南
微信开发者迁移指南
接收消息
发送消息
自定义菜单
用户管理
生成带参数的二维码
Fans Service Platform
商业接口
商业数据接入指南
订阅服务手册(中文版)
订阅服务手册(英文版)
商业接口-REST API
商业数据常见问题
网站接入
网站接入介绍
微博API
微博API
接口访问频次权限
资源下载
SDK
微博标识下载
常见问题
联系我们
工具箱
链入页面
链出更改
特殊页面
查看源代码
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
==关于xAuth== xAuth认证实际上是OAuth认证的简化版。目前xAuth只对桌面客户端和移动客户端开放申请。Web应用请使用OAuth。<br/> ==xAuth申请需求== 因为xAuth依然会获得用户明文密码,xAuth实行有限开放。开发初期建议使用桌面客户端使用OAuth,移动客户端使用WAP 1.0或者2.0版页面授权。当用户数量达到一定规模后再使用xAuth提升用户体验。<br/> xAuth申请条件: # 应用分类属于桌面客户端、手机客户端。 # 应用本身已经通过开放平台文案、广场审核,并在广场上展示超过15天。 # 应用使用人数在3000以上。 # 应用本身功能与微博关联紧密。 <br/> xAuth申请需提交材料:<br/> '''企业''': # 营业执照副本复印件 # 法人身份证复印件 # 税务登记副本复印件 # 应用产品说明文档:包括产品介绍、运营推广策略、改进目标等 <br/> '''个人''': # 开发者身份证复印件 # 应用产品说明文档:包括产品介绍、运营推广策略、改进目标等 xAuth申请通过后,需签订合作开发者协议 请将上述资料和AppKey、应用名称一起发送邮件到[mailto:weibo_app@vip.sina.com weibo_app@vip.sina.com]来申请xAuth的使用权。 ==xAuth简介== 使用xAuth认证方式,您仍然需要了解如何生成OAuth签名。 为了方便桌面应用和移动应用,特别是那些缺乏浏览器支持的应用,xAuth认证为这类应用提供了一种使用用户名和密码来获取OAuth的Access Token的方式。 采用xAuth认证的桌面应用和移动应用可以跳过oauth/request_token(获取Request Token)以及oauth/authorize(授权Request Token)两步,只要提供了username和password以后,即可直接通过oauth/access_token接口得到Access Token。 ==使用xAuth== 要使用xAuth认证,需要经过以下步骤:<br/> <br/> 1. 申请xAuth认证使用资格:将您的应用名称、APPKEY、为何要使用xAuth认证方式等详细信息发给[mailto:weibo_app@vip.sina.com weibo_app@vip.sina.com]来申请xAuth的使用权。如果您已经获得xAuth使用权,请直接看第2步。<br/> <br/> 2. 获得xAuth的使用权后,为了能够生成OAuth签名,我们首先参考[[Oauth#.E8.AF.B7.E6.B1.82.E7.AD.BE.E5.90.8D|如何生成OAuth签名]],生成OAuth的BaseString。注意,生成BaseString时需要传入如下几个参数:<br/> <br/> * x_auth_username:用户名(即用户在新浪通行证中使用的邮箱。) * x_auth_password:密码 * x_auth_mode:标识字段,这里必须是"client_auth"。 * oauth_consumer_key: 创建应用时生成的APP KEY。 * oauth_signature_method: 签名方法,建议使用“HMAC-SHA1”。 * oauth_timestamp:时间戳。生成Base String时的时间戳。 * oauth_nonce:单次值,一个随机字符串,防止重复攻击。 * oauth_version : OAuth协议版本。填写“1.0”。 <br/> 生成的BaseString示例如下:<br/> <br/> <pre> POST&http%3A%2F%2Fapi.t.sina.com.cn%2Foauth%2Faccess_token&oauth_consumer_key%3D1852823608%26oauth_nonce%3D-794036333%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1291944694%26oauth_version%3D1.0%26source%3D1852823608%26x_auth_mode%3Dclient_auth%26x_auth_password%3D------%26x_auth_username%3D---------%2540sina.cn </pre> <br/> 3. 用刚刚生成的BaseString,经过HMAC-SHA1算法生成oauth_signature,示例如下: <br/> <pre> iviIHhwXWmFLliZbeDoSyQ+XC1o= </pre> <br/> 4. 将以下参数封装成HTTP请求头,并向[[oauth/access_token]]接口提交POST请求:<br/> <br/> * x_auth_username, * x_auth_password, * x_auth_mode, * oauth_consumer_key, * oauth_signature_method, * oauth_signature, * oauth_timestamp, * oauth_nonce, * oauth_version, * source <br/> <pre> Authorization: OAuth oauth_consumer_key="1852823608",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1291944694",oauth_nonce="-794036333",oauth_version="1.0",oauth_signature="iviIHhwXWmFLliZbeDoSyQ%2BXC1o%3D",source="1852823608",x_auth_mode="client_auth",x_auth_password="------",x_auth_username="---------@sina.cn" </pre> <br/> 5. 得到的返回结果示例如下:<br/> <pre> oauth_token=160e537d530fd105669fd79a4f1dc286&oauth_token_secret=a9c46c081842bd08f55e8f0265d8fea3&user_id=160984721 </pre> <br/> 将返回结果按"&"拆开,oauth_token的值即为access_token。<br/> == oauth/access_token == 第三放应用使用开始的request_token来换取用户授权过的Access_token。在xAuth认证方式中,也可以直接获取Access Token ==URL== http://api.t.sina.com.cn/oauth/access_token ==格式== 标准的OAuth http返回格式 ==HTTP请求方式== POST ==请求数限制== false ==请求参数== * 参考[http://oauth.net/core/1.0a/#anchor9 OAuth的第6章] * x_auth_username:用户名(即用户在新浪通行证中使用的邮箱。),xAuth方式必填。 * x_auth_password:密码,xAuth方式必填。 * x_auth_mode:标识字段,这里必须是"client_auth",xAuth方式必填。 * oauth_consumer_key: 创建应用时生成的APP KEY。 * oauth_token:经过用户授权的Request Token。 * oauth_signature_method: 签名方法,建议使用“HMAC-SHA1”。 * oauth_timestamp:时间戳。生成Base String时的时间戳。 * oauth_nonce:单次值,一个随机字符串,防止重复攻击。该参数只支持ASCII码的字符串. * oauth_version : OAuth协议版本。填写“1.0”。 * oauth_verifier: 可选。在[[oauth/authorize]]这一步中,微博给出的认证码。 * oauth_signature:签名值,是由[[Oauth#.E8.AF.B7.E6.B1.82.E7.AD.BE.E5.90.8D|根据上面的几个参数生成的 Base String]]经HMAC-SHA1算法计算得出。 ==使用说明== ===返回值=== <pre> oauth_token=c849d68edfd4d01dbb60c73e60c04360&oauth_token_secret=c7966260e5384f535222aa7aec7002c2&user_id=1567751400 </pre> ==使用示例== * 参见[[OAuth]]说明。 ===PHP示例=== 请从 [[SDK | 微博SDK开发包下载]] 处下载PHP SDK(支持OAuth验证之版本)<br> 代码示例如下: <pre> //oauth/access_token $o = new WeiboOAuth( WB_AKEY , WB_SKEY , $_SESSION['keys']['oauth_token'] , $_SESSION['keys']['oauth_token_secret'] ); $last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ; echo($last_key['oauth_token']); </pre>
该页面使用的模板:
模板:Tip doc trash
(
查看源代码
)
返回到
XAuth
。
反馈
分享
顶部