注册公众号
如果你还没有微信公众号,进入微信公众平台后台:https://mp.weixin.qq.com (opens new window)注册。
调试测试号
在公众号后台左侧菜单找到 开发->开发者工具->公众平台测试账号。启动本地Web服务,监听8080端口。启动ngrok工具,获得外网能访问本地WEB服务的网址。修改测试账号的接口配置信息。将网址粘贴到URL输入框内,设置自己的Token。
校验算法
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const PORT = 8080;
const crypto = require('crypto');
server.listen(PORT, () => {
console.log(`正在监听${PORT}端口...`);
});
app.get('/', (req, res) => {
console.log(req.query)
const q = req.query;
const signature = q.signature;
const token = 'shuaihua'; // 替换成自己设置的Token
const echostr = q.echostr;
const timestamp = q.timestamp;
const nonce = q.nonce;
const array = new Array(token, timestamp, nonce);
array.sort();
let _signature = crypto.createHash('sha1')
.update(array.toString().replace(/,/g, ""), 'utf-8')
.digest('hex');
console.log(_signature)
if (_signature == signature) {
res.send(echostr);
} else {
res.send('...');
}
});