微信接口开发的Url验证和Token验证流程如下:
一、Url验证
- 填写Url:
- 登录微信公众平台,进入开发者中心。
- 在配置界面中,填写应用程序处理微信请求的Url。此Url应按照
http://IP/
的格式进行填写,且该请求需要被应用程序的后台捕获并处理。注意,此处的Url是单独对微信请求进行处理的Url路径,而非应用程序的首页。
二、Token验证
输入Token:
- 在开发者中心配置界面中,输入自己命名的Token字符串。
生成EncodingAESKey:
- 点击“随机生成”按钮,获取系统自动生成的EncodingAESKey字符串。
提交信息:
- 点击“提交”按钮,提交所填写的Url、Token和EncodingAESKey信息。
三、验证流程
微信服务器发送GET请求:
- 开发者提交信息后,微信服务器将发送一个GET请求到填写的服务器地址URL上。该GET请求携带四个参数:signature、timestamp、nonce和echostr。
后台处理GET请求:
- 在Url对应的处理方法中,获取传递的参数(signature、timestamp、nonce)。
- 将token、timestamp、nonce三个参数进行字典序排序。
- 将排序后的三个参数字符串拼接成一个字符串,并进行sha1加密。
- 将加密后的字符串与微信传递过来的signature参数进行比对。
校验结果:
- 若加密后的字符串与signature参数一致,则校验通过。
- 校验通过后,请原样返回echostr参数内容给微信服务器,以完成验证流程。
通过以上步骤,即可完成微信接口开发的Url验证和Token验证。这一流程确保了请求和响应都是经过双方安全性校验过的,从而保障了接口的安全性。