请求临时token

OAuth_guide_3.png

本步骤的目的
网站向Qzone发送request,请求未授权的临时token。
请按照下面的说明来构造qzoneoauth_request_token请求。

目录

上一步

放置“QQ登录”按钮

本步骤是“帐号登录”的第一部分

帐号登录

1. qzoneoauth_request_token接口说明

1.1 请求地址

PC网站:
http://openapi.qzone.qq.com/oauth/qzoneoauth_request_token


WAP网站:
http://open.z.qq.com/moc/oauth_request_token

1.2 HTTP请求方式

GET

1.3 参数说明

所有参数都需要进行URL 编码,编码时请遵守 RFC 1738

请求参数请包含如下内容:

参数 含义
oauth_consumer_key 申请QQ登录成功后,分配给网站的appid
oauth_nonce 随机字符串,所有oauth_nonce请使用int型值。
oauth_timestamp unix时间戳(从UTC时间1970年1月1日00:00:00到当前时刻的秒数,不同语言中如何获取请google/baidu之)。

注意第三方服务器时间与腾讯服务器时间相差不能超过5分钟。

oauth_version 版本号,请固定使用1.0
oauth_signature_method 签名方法,请固定使用HMAC-SHA1。
oauth_signature 签名值,用来提高传输过程参数的防篡改性。

签名值的生成详见签名参数oauth_signature的说明

oauth_client_ip 用户的IP地址(可选),int型

1.4 请求示例

(为了保护隐私信息,以下请求中参数值部分内容进行了替换,实际请求中需要替换成真实的值):

http://openapi.qzone.qq.com/oauth/qzoneoauth_request_token?

oauth_version=1.0&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1305510447& oauth_nonce=894543959&oauth_consumer_key=200001&oauth_signature=aaaaaxg89eAZwYqImEqWp%2FJx5PA%3D

1.5 返回参数说明

参数 含义
oauth_token 未授权的临时token
oauth_token_secret 未授权的临时token对应的密钥

1.6 返回码说明

0: 正确返回

其它: 失败。详见公共返回码说明

1.7 正确返回示例

oauth_token=13334118940060406036&oauth_token_secret=SqxqKSHFPKAQaUnF

1.8 错误返回示例

error_code=11000

2. 编写get_request_token后台代码

2.1 示例代码下载

请从SDK下载页面下载PHP SDK。
注:目前只提供PHP SDK。使用其他语言开发的开发人员仍然可以通过阅读PHP SDK的示例代码来理解主要的逻辑。

2.2 示例代码剖析

2.2.1 在comm/utils.php中放置公用方法

PHP SDK comm目录下的utils.php文件中的代码,演示了一些公用的方法,例如对参数进行字典排序,生成签名值,检查OpenID是否合法,执行get操作,执行post请求等。
接下来的代码示例中,将在多处调用这些公用的方法。

2.2.2 在comm/config.php中存储信息

appid和appkey在OAuth认证过程中的每一步请求中都会用到,因此在PHP SDK中,我们在comm文件夹下建立了config.php文件,将appid,appkey,callback等信息存储在session中。

2.2.3 在comm/session.php中支持session共享

多子域名以及不止一台服务器的情况下两次请求的session信息无法共享将导致访问出错。


因此在PHP SDK V1.3及以上版本中,我们提供了session.php,以支持多子域名以及多机器session共享。开发者需要按照注释的说明进行修改。

参考资料: 关于session的使用限制以及解决方案的说明

其它语言的开发者可自行开发出支持Session共享的功能或者采用其它存储介质。

下一步

接下来的指引将详细的引导你进行:引导用户登录、授权,并请求已授权的临时token

以上信息是否解决您的问题?

Copyright © 1998 - 2019 Tencent. All Rights Reserved.

腾讯公司 版权所有

有问必答 返回顶部