购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 接口校验方法

要使“填写服务器配置”页面中填写的URL能正常通过微信服务器的校验,需要按《微信公众平台开发者文档》中“接入指南”的要求,编写接口校验方法。

开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数,如表3-1所示。

表3-1

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者,否则接入失败。

加密/校验流程如下:

1. 将token、timestamp、nonce三个参数进行字典排序。

2. 将三个参数字符串拼接成一个字符串进行sha1加密。

3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。

在C#中,可以使用LINQ来对参数进行字典排序,代码如下:

将三个参数字符串进行拼接:

sha1加密可以使用.NET Framework提供的System.Security.Cryptography.SHA1类来实现:

sha1加密后的结果是一个byte数组,因此,还需要将加密结果转换为字符串: KqUKTXkpFKhd+cwsuCfIqEWotwWg8wjaBaDJ4BViXGkLpmsBlQHogsLBM0q1j/SF

点击中间区域
呼出菜单
上一章
目录
下一章
×