接入指南
一、填写服务器配置
在测试号管理中填写接口配置信息
服务器地址URL,URL是开发者用来接收微信消息和事件的接口URL;
Token可以任意填写;
这是测试时填写的,真实项目的填写还要填写EncodingAESKey,可以由开发者手动填写或随机生成,将用作消息体加解密密钥;
开发者还可选择消息加解密方式:明文模式、兼容模式和安全模式;
具体可参看开发者文档。
二、验证服务器地址的有效性
开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数
通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
加密/校验流程如下:
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
示例代码:
WebChatCallBackServlet:
public class WebChatCallBackServlet extends HttpServlet {
/**
* 确认请求来自微信服务器
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {