routes.js 740 B

1234567891011121314151617181920212223
  1. const express = require("express");
  2. const router = express.Router();
  3. const crypto = require("crypto");
  4. router.get("/", (req, res, next) => {
  5. res.send("OK");
  6. });
  7. router.get("/verify", (req, res, next) => {
  8. // 验证消息来自微信服务器:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html
  9. const { signature, timestamp, nonce, echostr } = req.query;
  10. const token = process.env.TOKEN;
  11. let tmp_array = [token, timestamp, nonce].sort();
  12. let tmp_string = tmp_array.join("");
  13. tmp_string = crypto.createHash("sha1").update(tmp_string).digest("hex");
  14. if (tmp_string === signature) {
  15. res.send(echostr);
  16. } else {
  17. res.send("verification failed");
  18. }
  19. });
  20. module.exports = router;