大致分为四个部分:
- 定义TOKEN
- 声明一个类 wechatCallbackapiTest
- 创建类wechatCallbackapiTest 的一个实例对象 $wechatObj
- 调用类的 valid() 方法。
详细分析
定义TOKEN
TOKEN 是用来交互时进行安全认证的,开发者可以随意定义,但要和公众平台里设置的一样。
声明一个类
声明一个类 wechatCallbackapiTest,该类中包含有三个方法。
- valid() 申请 成为开发者 时向微信发送验证信息。验证通过后,需要注释掉对此函数的调用。
- responseMsg()处理并回复用户发送过来的消息,也是用的最多的一个函数,几乎所有的功能都在这里实现。
在此处可以获取到用户的openid
- checkSignature()
开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,否则接入失败。
signature结合了开发者填写的token参数和请求中的timestamp参数、nonce随机数参数。
加密/校验流程:
- 1. 将token、timestamp、nonce三个参数进行字典序排序
- 2. 将三个参数字符串拼接成一个字符串后进行sha1加密
- 3. 开发者获得加密后的字符串可与signature对比,验证该请求是否来源于微信
调用类的valid()方法执行接口验证,接口设置成功后需要将其注释掉。