受權流程以下圖所示:api
下面對其進行詳細介紹:安全
通常而言,用戶須要先進入第三方平臺方網站,如www.ABC.com微信
問題1這一步就遇到問題了app
第三方平臺方能夠在本身的網站首頁中放置「微信公衆號登陸受權」的入口,引導公衆號運營者進入第三方平臺受權頁。網址爲https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx,該網址中第三方平臺方須要提供第三方平臺方appid、預受權碼和回調URI微信公衆平臺
用戶進入第三方平臺受權頁後,須要確認並贊成將本身的公衆號登陸受權給第三方平臺方,完成受權流程。工具
受權流程完成後,會進入回調URI,並在URL參數中返回受權碼和過時時間(redirect_url?auth_code=xxx&expires_in=600)post
問題1的解決辦法:(獲取預受權碼)測試
*要獲取預受權碼必須先得獲取到-----第三方平臺access_token網站
-----------------------------------------------官方文檔說明開始---------------------------------------------------------------------
url
因爲第三方平臺方可能託管了大量的公衆號,第三方平臺方安全問題形成的影響會更加嚴重,故API中增長了2項安全策略。
A)全部API調用端只能是第三方平臺申請時填寫的白名單客戶端IP
B)獲取第三方平臺令牌(component_access_token),增長了component_verify_ticket參數。component_verify_ticket由公衆平臺每隔10分鐘,持續推送給第三方平臺方(在建立公衆號第三方平臺審覈經過後,纔會開始推送)。
該API用於獲取第三方平臺令牌(component_access_token)
http請求方式: POST(請使用https協議)
https://api.weixin.qq.com/cgi-bin/component/api_component_token
POST數據示例:
{
"component_appid":"appid_value" ,
"component_appsecret": "appsecret_value",
"component_verify_ticket": "ticket_value"
}
參數 | 說明 |
---|---|
component_appid | 第三方平臺appid |
component_appsecret | 第三方平臺appsecret |
component_verify_ticket | 微信後臺推送的ticket,此ticket會定時推送,具體請見本頁末尾的推送說明 |
{
"component_access_token":"61W3mEpU66027wgNZ_MhGHNQDHnFATkDa9-2llqrMBjUwxRSNPbVsMmyD-yq8wZETSoE5NQgecigDrSHkPtIYA",
"expires_in":7200
}
參數 | 說明 |
---|---|
component_access_token | 第三方平臺access_token |
expires_in | 有效期 |
對於component_verify_ticket這個參數我一直沒弄明白,因此使用這種post請求方式獲取第三方平臺的access_token就沒能成功。
可是我找到另一種途徑獲取,但這種方式並非官方給的獲取方式。(請慎用)
在查看微信公衆平臺接口調試工具時發現,在這裏邊有一個獲取access_token接口的獲取。
經過使用這種get請求也能獲取到access_token