微信开放平台的授权和业务开发

前言

微信开放平台的授权是,为了让公众或小程序运营者,在面向垂直行业需求时,可以一键授权给第三方平台(并且可以同时授权给多家第三方),通过第三方平台来完成业务。简单地说,就是垂直行业的第三方平台出垂直的业务功能,提供给行业里公众运营者使用,让公众运营者无需自行去一套业务系统。

本文就带着这思路,带您一起探索微信开放平台的授权和业务过程。

微信开放平台授权流程技术说明

我们通过微信授权获取用户的信息进行存储,将用户注册的信息和微信平台的信息关联起来。图中的组件方就是我们,用户访问我们的网站。

1. 在后台公众平台 获取预授权码

请求方式:(请使用 协议)

数据示例:

返回结果示例:

2. 引导公众和小程序进入授权页

两种方式:

1. 在自己的网站中放置“微信公众授权”或“小程序授权”的入口2. 生成授权链接放置在网页中

方式 1:授权页扫码授权

我们需要让用户点击授权按钮后 进入一个授权地址(不能用 方式),网页的授权页网址格式为:

和 代表了两种请求转发方式:直接转发和间接转发。

直接转发方式():客户端和浏览器只发出一次请求,而 、、 或其它信息资源,由第二个信息资源响应该请求。在请求对象 中,保存的对象对于每个信息资源是共享的。间接转发方式():实际是两次 请求,服务器端在响应第一次请求时,让浏览器再向另外一个 发出请求,从而达到转发的目的。

方式 2:点击端链接快速授权

其实与网页授权类似,但是授权链接不同,端的授权地址格式为:

参数介绍

注:_、_ 两个字段互斥,二选其一。

3. 授权后回调 ,得到授权码(_)和过期时间

用户点击授权按钮跳转授权页,完成授权流程后,授权页会自动跳转进入回调 (这是自己网站 接收授权码 的接口地址),并在 参数中返回授权码和过期时间(_?_=&_=600)。

4. 使用授权码换取公众或小程序的接口调用凭据和授权信息

数据示例:

上面的流程讲完,肯定有人蒙圈:

_、__ 怎么来的?

微信开放平台流程

接下来,我们开始正式讲解开放平台的内容。

1. 配置讲解

权限集根据自己的需要进行设置,这里主要讲配置。里面有个部分是校验域名,校验文件需要放到 服务器的根目录下。

登录授权的发起页域名格式为 .

授权测试公众列表:(最多 10 个,以英文“;”隔开)

授权事件接收 :

消息校验 ,消息加解密 。顾名思义,用于校验和加解密。

消息与事件接收 :

公众域名:(以英文“;”隔开)

小程序服务器域名:(以英文“;”隔开)

白名单 地址列表:设置域名所在 地址,可设置为入口的 地址。

2. 参数讲解

_:第三方平台 ,申请开放平台时生成。_:第三方平台 ,申请开放平台时生成,可重置。__:第三方平台 _,通过 获取,有效期 2 小时,最好在令牌快过期时(比如 1 小时 50 分)再进行刷新。__:微信后台推送的 ,此 会每隔 10 分钟定时推送,者要接口进行接收,接收到后必须直接返回字符串 。

(1) 接收

授权事件接收 接收的格式:

注意:

__ 的有效时间较__ 更长,建议保存最近可用的 __,在 __ 过期之前使用该 进行更新,避免出现因为 接收失败而无法更新 __ 的情况。

(2) 获取第三方平台

__ 是第三方平台 接口的调用凭据,也叫做令牌。

(3) 获取预授权码 ,进行授权回调

预授权码用于公众或小程序授权时的第三方平台方安全验证。我们要先获取 __,然后将《微信开放平台授权流程技术说明》授权部分拿过来。你会发现授权页的参数中需要 _、__、_、_、_。

数据示例:

(4) 用户授权后回调 ,得到授权码 (_)

_?_=&_=600

(5) 使用授权码换取公众或小程序的接口调用凭据和授权信息

(6) 获取(刷新)授权公众或小程序的接口调用凭据(令牌)

此 用于在授权方令牌(__,2 小时失效,调用次数受限)失效时,可用刷新令牌(__)获取新的令牌。当通过接口换取新__后建议保存。

接口调用频次限制说明:

... /-//?=

(7) 获取授权方的帐基本信息

公众或小程序都可以通过这个地址来请求,获取授权方的基本信息,包括头像、昵称、帐类型、认证类型、微、原始 和二维码图片 。

公众返回结果示例:

小程序返回结果示例:

(8) 推送授权相关通知

当公众对第三方平台进行授权、取消授权、更新授权后,微信服务器会向第三方平台方的授权接收 (创建第三方平台时填写)推送相关通知。

接收的 数据示例(授权成功通知):

接收的 数据示例(取消授权通知):

接收的 数据示例(授权更新通知):

运行 -- 的案例解析

案例 :

.

配置微信第三方平台中的授权事件接收 :

配置微信第三方平台中的公众消息与事件接收 :

首次启动后需要等待收到微信推送的 __ 后才可以使用接口(在第三方平台创建审核通过后,微信服务器每隔 10 分钟会向授权事件接收 推送一次 __)。

授权事件接收 ()的实现方法:

解析了微信推送过来的数据 ,再通过 用 方法保存更新 __到 中。

消息与事件处理 ()的实现方法:

通过解析 消息类型,返回对应的数据结果(这个方法需要公众授权后使用)。

.

本案例的授权信息存储存放在 上,所以重启应用时,. 会在初始化过程中读取之前的授权信息,避免了重启导致服务无法使用的问题。

公众授权

我们要使用上面的消息接收功能需要公众先授权。所以通过访问 //___ 地址,指引公众用户进入授权引导页。点击 ,触发授权页,再跳转到微信平台的二维码授权页面,让用户进行扫码授权。这样,消息与事件处理 就能接收到公众传输过来的消息。

有问题,欢迎在评论区下方与我们交流!

© 版权声明
THE END
分享