使用Nodejs接入并验证微信公众号和微信小程序服务器配置
接入步骤
1、微信后台配置
[url] 写自己的已经绑定服务器的域名
[Token] 随便写
2、自己的服务器部署以下代码
-
check.js
-
-
'use strict';
-
-
const http = require('http');
-
const url = require('url');
-
const querystring = require('querystring');
-
const crypto = require('crypto');
-
-
const TOKEN = 'whatever'; // token可以是任何字符串,前提是必须和上图基础配置的一致
-
-
http.createServer((req, res) => {
-
if (/\*\/\*/img.test(req.headers.accept)) {
-
const _query = url.parse(req.url).query;
-
const query = querystring.parse(_query);
-
const signature = query.signature;
-
const echostr = query.echostr;
-
const timestamp = query.timestamp;
-
const nonce = query.nonce;
-
-
// 拼成数组,字典排序,再拼接
-
const tmpStr = [TOKEN, timestamp, nonce].sort().reduce((prev, cur) => prev + cur);
-
-
// sha1加密
-
const sha1 = crypto.createHash('sha1');
-
const sha1_result = sha1.update(tmpStr).digest('hex');
-
-
// 如果是来自微信的请求就返回echostr
-
if (sha1_result === signature) {
-
res.end(echostr);
-
}
-
}
-
}).listen(80, () => {
-
console.log(`server start at 80`); // 一定要是80端口
-
});
-
node check.js //启动服务,如果80端口被其他进程占用需要先停止其他进程
3、在基础配置中点击提交
提示配置成功即完成了校验
|