官方文檔: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"; }
第三步:在微信公眾平台配置服務器信息(就是第一步的三個配置項)