微信開放平臺-第三方平臺授權流程及接口總結概述

近期需要使用第三方平臺做相應的代小程序業務的開發,本篇主要針對微信開放平臺的第三方平臺授權流程做簡要總結,詳細介紹可以參考官方文檔。

 

授權流程說明:

作爲第三方開發平臺,爲其他微信公衆號或小程序開發,調用其接口,需要先被授權,授權方式分爲二維碼和跳轉鏈接二種。

本文采用生成二維碼的方式來生成授權頁。

 

1.獲取驗證票據(component_verify_ticket)

出於安全考慮,在第三方平臺創建審覈通過後,微信服務器會每隔 10 分鐘會向第三方的消息接收地址推送一次 component_verify_ticket,用於獲取第三方平臺接口調用憑據。

第三方的程序被動接收,建議每次都將新值放入Redis中,供其他請求獲取值(獲取令牌時使用)。

 

2.獲取令牌(component_access_token)

第三方平臺通過component_appid和 component_appsecret,以及 component_verify_ticket(每 10 分鐘推送一次的安全 ticket)來獲取自己的接口調用憑據(component_access_token)

(微信開放平臺管理中心的第三方平臺詳情頁中可以查看的 AppID 和 AppSecret)。 

在需要授權時,第三方平臺程序主動發送POST請求獲取,單個令牌有效期爲2個小時(7200s),在令牌快過期時(比如1小時50分),重新調用接口獲取,可以將其存儲在Redis中。

 

3.獲取預授權碼(pre_auth_code)

通過第二步獲取的接口調用憑據(component_access_token)來獲取用於授權流程準備的預授權碼(pre_auth_code)。

每個預授權碼有效期爲10分鐘(600s)需將其存儲在Redis中,生成授權頁會使用,接口文檔

 

4.引入用戶進入授權頁

第三方平臺方可以在自己的網站中放置“微信公衆號授權”或者“小程序授權”的入口,或生成授權鏈接放置在移動網頁中,引導公衆號和小程序管理員進入授權頁。

用戶進入第三方平臺授權頁後,需要確認並同意將自己的公衆號或小程序授權給第三方平臺方,完成授權流程,授權方式分爲以下兩種,詳細介紹

方式一:授權註冊頁面掃碼授權

授權頁網址爲:

https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx。

 

方式二:點擊移動端鏈接快速授權 第三方平臺方可以生成授權鏈接,將鏈接通過移動端直接發給授權管理員,管理員確認後即授權成功。

授權鏈接地址:

https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&auth_type=3&no_scan=1&component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx&biz_appid=xxxx#wechat_redirect

 

5.獲取授權碼(auth_code)

當用戶在第三方平臺授權頁中完成授權流程後,第三方平臺開發者可以在回調 URI 中通過 URL 參數獲取授權碼。

回調URI中會接收授權碼信息和過期時間(redirect_url?auth_code=xxx&expires_in=600)(獲取接口調用憑據時使用)

 

6.獲取接口調用憑據(authorizer_access_token)

通過授權碼和自已接口的調用憑據(component_access_token)換取公衆號或小程序的接口調用憑據(authorizer_access_token 和用於前者快過期時用來刷新它的 authorizer_refresh_token)和授權信息(授權了哪些權限等信息)建議保存授權信息中的刷新令牌(authorizer_refresh_token)接口文檔

 

7.獲取/刷新授權公衆號或小程序的接口調用憑據

authorizer_refresh_token刷新令牌(在授權的公衆號具備API權限時,纔有此返回值),刷新令牌主要用於第三方平臺獲取和刷新已授權用戶的 authorizer_access_token。

一旦丟失,只能讓用戶重新授權,才能再次拿到新的刷新令牌。用戶重新授權後,之前的刷新令牌會失效,所以建議來刷新公衆號或小程序的接口調用憑據

 

8、接口調用

通過以上授權流程,獲取到微信小程序的接口調用憑據authorizer_access_token後即可完成相應的業務開發了,

如小程序基本信息接口,以下可以獲取小程序的基本信息:

 GET https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo?access_token=ACCESS_TOKEN

 

 

授權流程說明:

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Authorization_Process_Technical_Description.html

接口文檔說明:

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/api/pre_auth_code.html

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章