微信第三方平台授權流程


1,獲取第三方平台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 有效期



 

2,獲取預授權碼 

 

http請求方式: POST(請使用https協議)

https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=xxx

POST數據示例:

{
"component_appid":"appid_value" 
}
   

請求參數說明

參數 說明
component_appid 第三方平台方appid

返回結果示例

{
"pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw",
"expires_in":600
}

   

結果參數說明

參數 說明
pre_auth_code 預授權碼
expires_in 有效期,為20分鍾


 

3,引導進入授權頁面

在任何一個html或者jsp頁面,加一個按鈕,按鈕的響應地址為:

https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx
該網址中第三方平台方需要提供第三方平台方appid、預授權碼和回調URI

 

4,授權后回調URI,得到授權碼和過期時間

授權流程完成后,會進入回調URI,並在URL參數中返回授權碼和過期時間(redirect_url?auth_code=xxx&expires_in=600)

 

5,使用授權碼換取公眾號的授權信息

 

接口調用請求說明

 

http請求方式: POST(請使用https協議)

https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=xxxx

POST數據示例:

{
"component_appid":"appid_value" ,
" authorization_code": "auth_code_value"
}

   

請求參數說明

參數 說明
component_appid 第三方平台appid
authorization_code 授權code,會在授權成功時返回給第三方平台,詳見第三方平台授權流程說明

返回結果示例


"authorization_info": {
"authorizer_appid": "wxf8b4f85f3a794e77", 
"authorizer_access_token": "QXjUqNqfYVH0yBE1iI_7vuN_9gQbpjfK7hYwJ3P7xOa88a89-Aga5x1NMYJyB8G2yKt1KCl0nPC3W9GJzw0Zzq_dBxc8pxIGUNi_bFes0qM", 
"expires_in": 7200, 
"authorizer_refresh_token": "dTo-YCXPL4llX-u1W1pPpnp8Hgm4wpJtlR6iV0doKdY", 
"func_info": [
{
"funcscope_category": {
"id": 1
}
}, 
{
"funcscope_category": {
"id": 2
}
}, 
{
"funcscope_category": {
"id": 3
}
}
]
}

   

結果參數說明

參數 說明
authorization_info 授權信息
authorizer_appid 授權方appid
authorizer_access_token 授權方令牌(在授權的公眾號具備API權限時,才有此返回值)
expires_in 有效期(在授權的公眾號具備API權限時,才有此返回值)
authorizer_refresh_token 刷新令牌(在授權的公眾號具備API權限時,才有此返回值),刷新令牌主要用於公眾號第三方平台獲取和刷新已授權用戶的access_token,只會在授權時刻提供,請妥善保存。 一旦丟失,只能讓用戶重新授權,才能再次拿到新的刷新令牌
func_info 公眾號授權給開發者的權限集列表(請注意,當出現用戶已經將消息與菜單權限集授權給了某個第三方,再授權給另一個第三方時,由於該權限集是互斥的,后一個第三方的授權將去除此權限集,開發者可以在返回的func_info信息中驗證這一點,避免信息遺漏),1到8分別代表:
消息與菜單權限集
用戶管理權限集
帳號管理權限集
網頁授權權限集
微信小店權限集
多客服權限集
業務通知權限集
微信卡券權限集
           

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM