官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
第一步:了解配置(建议先不要立即配,完成步骤二后再配置)
URL 是用来接收公众号的消息回调和事件回调的;
Token 由开发者可以任意填写,只用于首次微信校验服务器用,校验通过后就没用了;
EncodingAESKey 由开发者手动填写或随机生成, 将用作回调消息体加解密密钥,如果设置了 兼容模式(明文密文共存)=> 可以用 EncodingAESKey 来加密明文得到密文,和微信的密文比较来校验接收数据的安全性;安全模式(只有密文,需要解密),用EncodingAESKey 解密得到微信的消息体;
第二步:验证消息来自微信服务器
在微信公众平台 配置好服务器信息后,微信服务器将立即发送GET请求到填写的服务器地址URL上(其他的消息回调都是POST),我们要校验微信的信息,并按文档规定返回;至此我们配置的服务器就配置成功了;
此步骤具体代码:
public String weChatOffiaccountCheckCallback(String echostr, String signature, String timestamp, String nonce) {
String[] valueArray = new String[]{"配置的Token", timestamp, nonce};
Arrays.sort(valueArray);
String s = StringUtils.join(valueArray);
String encode = DigestUtils.sha1Hex(s);
return signature.equals(encode) ? echostr : "fail";
}
第三步:在微信公众平台配置服务器信息(就是第一步的三个配置项)