QQ受權登錄過程總結:php
第一步:獲取Authorization Codehtml
請求地址:https://graph.qq.com/oauth2.0/authorize?ios
參數列表:api
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進行受權。app |
display | true | 固定值 "mobile" |
注意:這裏的redirect_uri不是隨便填的在註冊時直接填寫域名ex:baidu.com,用的時候http://www.baidu.com/**.** 後邊的*** 是某個文件這個 你本身看着辦。網站
返回:這個你點這個連接受權後會有返回,注意記住其中的code的值;url
第二步:經過Authorization Code獲取Access Tokenspa
地址: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