您的位置:首页 > 移动开发 > 微信开发

微信第三方平台授权流程

2018-01-19 21:34 369 查看
原文:http://blog.csdn.net/qq1021623362/article/details/44922831

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分别代表:

消息与菜单权限集

用户管理权限集

帐号管理权限集

网页授权权限集

微信小店权限集

多客服权限集

业务通知权限集

微信卡券权限集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: