24 lines
739 B
JavaScript
24 lines
739 B
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
const crypto = require("crypto");
|
|
|
|
router.get("/", (req, res, next) => {
|
|
res.send("OK");
|
|
});
|
|
|
|
router.get("/verify", (req, res, next) => {
|
|
// 验证消息来自微信服务器:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
|
|
const { signature, timestamp, nonce, echostr } = req.body;
|
|
const token = process.env.TOKEN;
|
|
let tmp_array = [token, timestamp, nonce].sort();
|
|
let tmp_string = tmp_array.join("");
|
|
tmp_string = crypto.createHash("sha1").update(tmp_string).digest("hex");
|
|
if (tmp_string === signature) {
|
|
res.send(echostr);
|
|
} else {
|
|
res.send("verification failed");
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|