亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

QQ登錄OAuth2.0的處理流程

QQ登錄OAuth2.0的處理流程主要包括以下三個(gè)步驟:
1. 獲取access_token;
2. 根據(jù)access_token獲得對(duì)應(yīng)用戶身份的openid;
3. 根據(jù)access_token與openid調(diào)用OpenAPI,來(lái)請(qǐng)求訪問(wèn)或修改用戶授權(quán)的資源(例如用戶資料,日志,相冊(cè),說(shuō)說(shuō)等信息)。 

為方便網(wǎng)站快速接入,QQ登錄提供了JS SDK,粘貼代碼到網(wǎng)頁(yè),即可實(shí)現(xiàn)QQ登錄功能。
為方便移動(dòng)應(yīng)用快速接入,QQ登錄提供了Android SDK和IOS SDK,應(yīng)用只需要修改少量代碼,即可快速實(shí)現(xiàn)QQ登錄功能。 

Step1:獲取access_token

QQ登錄OAuth2.0針對(duì)網(wǎng)站、移動(dòng)應(yīng)用、桌面應(yīng)用分別提供了不同的登錄驗(yàn)證和授權(quán)流程,目前提供以下2種獲取access token的方式:

1. server-side模式
即OAuth官方文檔中提到的Authorization Code模式,適用于需要從web server訪問(wèn)的應(yīng)用。

2. client-side模式
即OAuth官方文檔中提到的Implicit模式,適用于需要通過(guò)客戶端訪問(wèn)的方式。 

以上兩種模式僅在獲取access_token時(shí)有所區(qū)別,后續(xù)獲取openid、調(diào)用API等方式均相同。
登錄成功后,開(kāi)發(fā)者會(huì)得到表示此次登錄信息的access token,此參數(shù)在訪問(wèn)用戶授權(quán)信息中會(huì)用到。
access token由每次用戶登錄時(shí)生成,過(guò)期時(shí)間默認(rèn)為三個(gè)月,用戶再次登錄時(shí)自動(dòng)刷新。

Step2:根據(jù)access_token獲得對(duì)應(yīng)用戶身份的openid

請(qǐng)求地址:
PC網(wǎng)站:https://graph.qq.com/oauth2.0/me
WAP網(wǎng)站:https://graph.z.qq.com/moc2/me

請(qǐng)求方法:
GET

請(qǐng)求參數(shù):

請(qǐng)求參數(shù)請(qǐng)包含如下內(nèi)容:

QQ截圖20170209150321.png

返回說(shuō)明:
PC網(wǎng)站接入時(shí),獲取到用戶OpenID,返回包如下:

callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} ); 


WAP網(wǎng)站接入時(shí),返回如下字符串:

client_id=100222222&openid=1704************************878C


openid是此網(wǎng)站上唯一對(duì)應(yīng)用戶身份的標(biāo)識(shí),網(wǎng)站可將此ID進(jìn)行存儲(chǔ)便于用戶下次登錄時(shí)辨識(shí)其身份,或?qū)⑵渑c用戶在網(wǎng)站上的原有賬號(hào)進(jìn)行綁定。

錯(cuò)誤碼說(shuō)明:

接口調(diào)用有錯(cuò)誤時(shí),會(huì)返回code和msg字段,以u(píng)rl參數(shù)對(duì)的形式返回,value部分會(huì)進(jìn)行url編碼(UTF-8)。

PC網(wǎng)站接入時(shí),錯(cuò)誤碼詳細(xì)信息請(qǐng)參見(jiàn):100000-100031:PC網(wǎng)站接入時(shí)的公共返回碼。

WAP網(wǎng)站接入時(shí),錯(cuò)誤碼詳細(xì)信息請(qǐng)參見(jiàn):9000-9999:根據(jù)Access Token獲得對(duì)應(yīng)用戶身份的openid時(shí),發(fā)生錯(cuò)誤。

Step3:調(diào)用OpenAPI,來(lái)請(qǐng)求訪問(wèn)或修改用戶授權(quán)的資源

調(diào)用OpenAPI時(shí)需要用到如下3個(gè)值:
YOUR_APP_ID:即申請(qǐng)QQ登錄成功后分配的appid(如222222)
YOUR_ACCESS_TOKEN:Step1獲取到的access token,必須保證未過(guò)期(如E0632E6CE12AC709999)
YOUR_OPENID:Step2獲取到的openid,用戶唯一標(biāo)識(shí)(如B9DD537D1C5C98A9999)