开发者自行测试登录授权
公众号一键登录授权给第三方平台方的技术流程
授权流程如下图所示:
下面对其进行详细介绍:
1、用户进入第三方平台方网站
一般而言,用户需要先进入第三方平台方网站,如www.ABC.com
2、第三方平台方获取预授权码
预授权码是第三方平台方实现授权托管的必备信息,预授权码的获取办法问题1这一步就遇到问题了
3、发布后修改和覆盖现网
第三方平台方可以在自己的网站首页中放置“微信公众号登录授权”的入口,引导公众号运营者进入第三方平台授权页。网址为https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx,该网址中第三方平台方需要提供第三方平台方appid、预授权码和回调URI
4、用户确认并同意登录授权给第三方平台方
用户进入第三方平台授权页后,需要确认并同意将自己的公众号登录授权给第三方平台方,完成授权流程。
5、授权后回调URI,得到授权码和过期时间
授权流程完成后,会进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)
问题1的解决办法:(获取预授权码)
*要获取预授权码必须先得获取到-----第三方平台access_token
-----------------------------------------------官方文档说明开始---------------------------------------------------------------------
1、获取第三方平台access_token
由于第三方平台方可能托管了大量的公众号,第三方平台方安全问题造成的影响会更加严重,故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接口的获取。
版权声明:本文为博主原创文章,未经博主允许不得转载。