微信第三方平臺-授權流程經驗分享
原文地址: www.jianshu.com/p/67836ffa9…
在做微信第三方平臺開發的時候,雖然授權的技術實現流程比較簡單,但是相對於一個key直接整合的一些其他的服務來說,還是有一些步驟,過一段時間再回頭查相關功能時還是可能忘記的,雖然官方的文件很全,但時每次都要前前後後看文件或每次都要走一遍步驟還是挺浪費時間的.
- 微信開放平臺:平臺定位,面向開發者,提供微信登入、分享、支付等相關許可權和服務
- 微信公眾平臺:包括訂閱號,服務號,企業號和小程式(可申請支付)
於是本人整理了下相關內容,進行分享和討論.
互動流程
搬自官網,以公眾號為例,授權給第三方平臺整體流程如下圖:

具體的步驟為:
pre_auth_code authorization_code
介面呼叫流程
整體流程還是很清晰易懂的,但是到具體介面呼叫時可能會有一些混亂,比如介面之間的引數的銜接等.因此本人制作了一張圖,從介面呼叫的角度來描述授權的流程,如下:

步驟從上到下
常見問題
1. component_access_token
的更新方式
答: 使用 獲取介面 來更新.
2. authorizer_access_token
的更新方式
答: 使用 refresh_token
來更新.
refresh_token
也要同時使用最新返回的結果
3. authorizer_refresh_token
的丟失處理
答: 需要 重新授權 (從頭來一遍).
4. component_access_token
和 authorizer_access_token
的更新機制
答: 主動+被動.
- 主動: 設定定時任務(如:1min)分別檢查
component_access_token
和authorizer_access_token
是否快過期或過期,如果是則更新token - 被動: 每次使用
component_access_token
或authorizer_access_token
時,先檢查相應其是否過期,如果過期則 更新token 再繼續相應操作
- 微信該介面有次數限制,因此需要合理的時機來請求
- 參考:獲取access_token