客戶端類型應(yīng)用申請如下:
文檔請參照:https://open.weibo.com/wiki/Oauth2/authorize
請求方式:GET/POST
YOUR_CLIENT_ID ---->申請應(yīng)用時分配的AppKey。
YOUR_REGISTERED_REDIRECT_URI---->授權(quán)回調(diào)地址,站外應(yīng)用需與設(shè)置的回調(diào)地址一致,站內(nèi)應(yīng)用需填寫canvas page的地址。(一般為應(yīng)用登錄頁面)
如果用戶同意授權(quán),頁面跳轉(zhuǎn)至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE:
返回數(shù)據(jù)
返回值字段|字段類型|字段說明
--|:--:|--:
code|string|用于第二步調(diào)用oauth2/access_token接口,獲取授權(quán)后的access token。
state|string|如果傳遞參數(shù),會回傳該參數(shù)。(防止CSRF攻擊用的)
拿到上一步的code后,用code換取Access Token:
url
文檔請參照:https://open.weibo.com/wiki/Oauth2/access_token
請求方式:POST
YOUR_CLIENT_ID ---->申請應(yīng)用時分配的AppKey。
YOUR_CLIENT_SECRET---->申請應(yīng)用時分配的AppSecret。
YOUR_REGISTERED_REDIRECT_URI---->授權(quán)回調(diào)地址,站外應(yīng)用需與設(shè)置的回調(diào)地址一致,站內(nèi)應(yīng)用需填寫canvas page的地址。(一般為應(yīng)用登錄頁面)
返回數(shù)據(jù)
返回值字段|字段類型|字段說明
--|:--:|--:
access_token|string|用戶授權(quán)的唯一票據(jù),用于調(diào)用微博的開放接口,同時也是第三方應(yīng)用驗證微博用戶登錄的唯一票據(jù),第三方應(yīng)用應(yīng)該用該票據(jù)和自己應(yīng)用內(nèi)的用戶建立唯一影射關(guān)系,來識別登錄狀態(tài),不能使用本返回值里的UID字段來做登錄識別。
expires_in|string|access_token的生命周期,單位是秒數(shù)。
uid|string|授權(quán)用戶的UID,本字段只是為了方便開發(fā)者,減少一次user/show接口調(diào)用而返回的,第三方應(yīng)用不能用此字段作為用戶登錄狀態(tài)的識別,只有access_token才是用戶授權(quán)的唯一票據(jù)。
參考文檔:https://open.weibo.com/wiki/2/users/show
請求方式:GET
access_token---->上一步獲取的access_token
uid---->上一步獲取的UID
嘿嘿嘿,劃重點(diǎn)了
看到網(wǎng)上有很多關(guān)于為什么access_token要設(shè)置過期時間的問題,此處以自己的理解解答一哈:
首先我們?nèi)绻皇亲龅卿?,確實不需要access_token,因為已經(jīng)有openid或者uid跟你的用戶對應(yīng)起來了,但是,這是授權(quán)行為,意味著第三方應(yīng)用可以拿著access_token去取你的數(shù)據(jù), 所以這里就需要時效性來保證安全了。(如果有更好的理解歡迎在評論區(qū)評論,勿噴!)
聯(lián)系客服