步骤1:第三方平台方获取预授权码(pre_auth_code)
预授权码是第三方平台方实现授权托管的必备信息。
该API用于获取预授权码。预授权码用于公众号或小程序授权时的第三方平台方安全验证。
接口调用请求说明
http请求方式: POST(请使用https协议)https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=xxxPOST数据示例:
{"component_appid":"appid_value" }请求参数说明
| 参数 | 说明 |
|---|---|
| component_appid | 第三方平台方appid |
返回结果示例
{"pre_auth_code":"Cx_Dk6qiBE0Dmx4EmlT3oRfArPvwSQ-oa3NL_fwHM7VI08r52wazoZX2Rhpz1dEw","expires_in":600}结果参数说明
| 参数 | 说明 |
|---|---|
| pre_auth_code | 预授权码 |
| expires_in | 有效期,为10分钟 |
步骤2:引入用户进入授权页
第三方平台方可以在自己的网站中放置“微信公众号授权”或者“小程序授权”的入口,或生成授权链接放置在移动网页中,引导公众号和小程序管理员进入授权页。
方式一:授权注册页面扫码授权
授权页网址为:
https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx。
| 参数 | 是否必填 | 参数说明 |
|---|---|---|
| component_appid | 是 | 第三方平台方appid |
| pre_auth_code | 是 | 预授权码 |
| redirect_uri | 是 | 回调URI |
| auth_type | 否 | 要授权的帐号类型, 1则商户扫码后,手机端仅展示公众号、2表示仅展示小程序,3表示公众号和小程序都展示。如果为未制定,则默认小程序和公众号都展示。第三方平台开发者可以使用本字段来控制授权的帐号类型。 |
| biz_appid | 否 | 指定授权唯一的小程序或公众号 |
方式二:点击移动端链接快速授权
第三方平台方可以生成授权链接,将链接通过移动端直接发给授权管理员,管理员确认后即授权成功。
授权链接为:
https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&auth_type=3&no_scan=1&component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx&biz_appid=xxxx#wechat_redirect| 参数 | 是否必填 | 参数说明 |
|---|---|---|
| component_appid | 是 | 第三方平台方appid |
| pre_auth_code | 是 | 预授权码 |
| redirect_uri | 是 | 回调URI |
| auth_type | 是 | 要授权的帐号类型:1则商户点击链接后,手机端仅展示公众号、2表示仅展示小程序,3表示公众号和小程序都展示。如果为未指定,则默认小程序和公众号都展示。第三方平台开发者可以使用本字段来控制授权的帐号类型。 |
| biz_appid | 否 | 指定授权唯一的小程序或公众号 |
注:auth_type、biz_appid两个字段互斥。
步骤3:用户确认并同意登录授权给第三方平台方
用户进入第三方平台授权页后,需要确认并同意将自己的公众号或小程序授权给第三方平台方,完成授权流程。
步骤4:授权后回调URI,得到授权码(authorization_code)和过期时间
授权流程完成后,授权页会自动跳转进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)
步骤5:利用授权码调用公众号或小程序的相关API
在得到授权码后,第三方平台方可以使用授权码换取授权公众号或小程序的接口调用凭据(authorizer_access_token,也简称为令牌),再通过该接口调用凭据,按照公众号开发者文档或小程序开发文档的说明,去调用公众号或小程序相关API。
(能调用哪些API,取决于用户将哪些权限集授权给了第三方平台方,也取决于公众号或小程序自身拥有哪些接口权限),使用JS SDK等能力。具体请见【公众号第三方平台的接口说明】













