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