接著上次的的來說,進(jìn)入代碼流程體驗(yàn)階段,開始之前先呈清幾個(gè)概念。
token 學(xué)名令牌,(通俗話說口令)。公眾號(hào)要完成第三方平臺(tái)要調(diào)用接口完成對(duì)應(yīng)的功能,需要access_token,第三方平臺(tái),能做公眾號(hào)大部分的事情,那做為特殊的公眾號(hào)當(dāng)然也需要access_token,不過他的名字改為了component_access_token,也是2小時(shí)會(huì)過期。那第三方平臺(tái)上經(jīng)過授權(quán)之后的公眾號(hào)調(diào)用接口的access_token加了前綴authorizer,變成了authorizer_access_token,還多出了一個(gè)authorizer_refresh_token好像之前沒有聽說過。做這個(gè)設(shè)計(jì)的小伙伴真心英文不錯(cuò),表達(dá)很確切。
component_verify_ticket ,這個(gè)主要是為了監(jiān)測(cè)并保持第三方平臺(tái)的穩(wěn)定,每過10分鐘,就會(huì)給第三方平臺(tái)發(fā)送一次,第三方要保留并且用于后期令牌的申請(qǐng),第三方收到之后要返回success。我們稱之為心跳票吧。
接下來就可以說流程了,官方使用圖
授權(quán)準(zhǔn)備
獲取預(yù)授權(quán)碼pre_auth_code,然后拼接到跳轉(zhuǎn)鏈接中,長(zhǎng)成如下的樣子
preauthcode@@@egnpPg67iU4OYVpXb0GWsU4FefBHpbS9TeXy6igw0ET44KUMRpp0yb1YQU0b7bSt
拼裝的URL如下的樣子:https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx
好了,訪問這個(gè)地方體驗(yàn):https://a86.cn/weixin3rd/index.jsp 頁(yè)面上拼裝了上面的URL 如圖
授權(quán)過程
通過回調(diào)的url拼接的參數(shù)獲取 authorization_code,要注意參數(shù)名是 auth_code,在進(jìn)入這個(gè)之前微信給出一個(gè)pre_auth_code授權(quán)的過程,可以刷新頁(yè)面,頁(yè)面的二維碼也會(huì)自動(dòng)刷新
https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=wxef1378bc4ec6857a&pre_auth_code=preauthcode@@@BpC8nrttj7ZxkweZvmpHGUZMiGsp0nThd-tXpBWNOvrbJG7PsLHvPg4Fj3RtQpvu&redirect_uri=https://a86.cn/jingubang/AuthorizerAccessToken
打開手機(jī)掃描,你可以選擇公眾號(hào)授權(quán)還是小程序授權(quán)
授權(quán)完成
通過authorization_code(auth_code),來獲取 authorizer_access_token authorizer_refresh_token
頁(yè)面地址一般是這樣
https://a86.cn/jingubang/AuthorizerAccessToken?auth_code=queryauthcode@@@dHMDB2mzuJAERGnJBwhNRtytXsws4VivZGCGB1I-WvYmCAckkygU5lkxEgtyCZZc6SX5rncINRNGAqNT23mFzQ&expires_in=3600
前提準(zhǔn)備
只能收,不能發(fā)的心跳票長(zhǎng)成這個(gè)樣子
ticket@@@iHZt9YQ5LstPqQepOozpQHANHFEECrpkLnanLTC7Tbx7WJ-SOcktNJgFa-46yl9fROZN91kGASBB2q3OoxZdqQ
第三方平臺(tái)授權(quán)完成,基本上就是大功告成了。
當(dāng)然這中間還有一個(gè)很復(fù)雜的解密與加密的過程,以后我們有機(jī)會(huì)再說。