使用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、在基础配置中点击提交
提示配置成功即完成了校验