微信第三方平台授权流程

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分别代表:
消息与菜单权限集
用户管理权限集
帐号管理权限集
网页授权权限集
微信小店权限集
多客服权限集
业务通知权限集
微信卡券权限集
           

 

posted @   zhihua  阅读(8244)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示