微信第三方平臺-受權流程經驗分享

原文地址: www.jianshu.com/p/67836ffa9…小程序

在作微信第三方平臺開發的時候,雖然受權的技術實現流程比較簡單,可是相對於一個key直接集成的一些其餘的服務來講,仍是有一些步驟,過一段時間再回頭查相關功能時仍是可能忘記的,雖然官方的文檔很全,但時每次都要前先後後看文檔或每次都要走一遍步驟仍是挺浪費時間的.微信

  • 微信開放平臺:平臺定位,面向開發者,提供微信登陸、分享、支付等相關權限和服務
  • 微信公衆平臺:包括訂閱號,服務號,企業號和小程序(可申請支付)

因而本人整理了下相關內容,進行分享和討論.微信公衆平臺

交互流程

搬自官網,以公衆號爲例,受權給第三方平臺總體流程以下圖:3d

image.png

受權流程技術說明code

具體的步驟爲:component

  1. 第三方平臺方獲取預受權碼(pre_auth_code)
  2. 引入用戶進入受權頁(PC和移動端)
  3. 用戶確認並贊成登陸受權給第三方平臺方
  4. 受權後回調URI,獲得受權碼(authorization_code)和過時時間
  5. 利用受權碼調用公衆號或小程序的相關API(獲取受權方的token等)

接口調用流程

總體流程仍是很清晰易懂的,可是到具體接口調用時可能會有一些混亂,好比接口之間的參數的銜接等.所以本人制做了一張圖,從接口調用的角度來描述受權的流程,以下:cdn

image.png

步驟從上到下blog

常見問題

1. component_access_token的更新方式

答: 使用獲取接口來更新.token

2. authorizer_access_token的更新方式

答: 使用refresh_token來更新.接口

refresh_token也要同時使用最新返回的結果

3. authorizer_refresh_token的丟失處理

答: 須要從新受權(從頭來一遍).

4. component_access_tokenauthorizer_access_token的更新機制

答: 主動+被動.

  • 主動: 設定定時任務(如:1min)分別檢查component_access_tokenauthorizer_access_token是否快過時或過時,若是是則更新token
  • 被動: 每次使用component_access_tokenauthorizer_access_token時,先檢查相應其是否過時,若是過時則更新token再繼續相應操做
  • 微信該接口有次數限制,所以須要合理的時機來請求
  • 參考: 獲取access_token
相關文章
相關標籤/搜索