注册公众号

如果你还没有微信公众号,进入微信公众平台后台: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('...');
  }
});

# 3.1 整理 signature 校验代码

最近一次更新: 10/21/2021, 1:39:44 AM