QQ授权登陆过程总结:
第一步:获取Authorization Code
请求地址:https://graph.qq.com/oauth2.0/authorize?
参数列表:
response_type | true | 授权类型,此值固定为“code”。 |
client_id | true | 申请QQ登录成功后,分配给应用的appid。 |
redirect_uri | true | 成功授权后的回调地址,必须是注册appid时填写的主域名下的地址,建议设置为网站首页或网站的用户中心。注意需要将url进行URLEncode。 |
state | true | client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回。 |
scope | opt | 可填写的值是API文档中列出的接口,以及一些动作型的授权(目前仅有:do_like),如果要填写多个接口名称,请用逗号隔开。 例如:scope=get_user_info,list_album,upload_pic,do_like 不传则默认请求对接口get_user_info进行授权。 |
display | true | 固定值 "mobile" |
注意:这里的redirect_uri不是随便填的在注册时直接填写域名ex:baidu.com,用的时候http://www.baidu.com/**.** 后边的*** 是某个文件这个 你自己看着办。
返回:这个你点这个链接授权后会有返回,注意记住其中的code的值;
第二步:通过Authorization Code获取Access Token
地址:https://graph.qq.com/oauth2.0/token?
参数列表:
grant_type | true | 授权类型,在本步骤中,此值为“authorization_code”。 |
client_id | true | 申请QQ登录成功后,分配给网站的appid。 |
client_secret | true | 申请QQ登录成功后,分配给网站的appkey。 |
code | true | 上一步返回的authorization code。
如果用户成功登录并授权,则会跳转到指定的回调地址,并在URL中带上Authorization Code。 例如,回调地址为www.qq.com/my.php,则跳转到: http://www.qq.com/my.php?code=520DD95263C1CFEA087****** 注意此code会在10分钟内过期。 |
redirect_uri | true | 与上面一步中传入的redirect_uri保持一致。 |
演示:https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id=****&client_secret=********&code=*******&redirect_uri=http%3A%2F%2Fios.18idc.ml%2Ftest.html
返回:接下来的不会有演示了,这个牵扯到安全问题了,要想测试请自行申请,你们用的时候肯定不会成功code早过期了,请替换参数,返回的结果包含:access_token=******&expires_in=****&refresh_token=***
access_token | 授权令牌,Access_Token。 |
expires_in | 该access token的有效期,单位为秒。 |
refresh_token | 在授权自动续期步骤中,获取新的Access_Token时需要提供的参数。 |
第三步:根据access_token获取OpenID
地址:https://graph.qq.com/oauth2.0/me?
参数列表:
access_token | true | 在Step1中获取到的access token。 |
演示:这个不太好
第四步:获取用户信息
地址:https://graph.qq.com/user/get_user_info?
实例:
https://graph.qq.com/user/get_user_info?access_token=*************&oauth_consumer_key=12345&openid=****************
参数:access_token这个不说大家也知道,oauth_consumer_key这个其实是 appid 呵呵 是不是有点坑openID上一步获取的。
完整文档参考地址:请点击
交流请加群:151180718