• NodeJS 微信公共号开发


    背景

    使用 NodeJS 进行微信公共号开发,首先需要响应微信发送的Token验证,官方文档

    填写服务器配置

    登录微信公共平台,在开发下的基本配置打开该页面。

    依次填写接口的 URL、自定义的 Token、点击随机生成生成 EncodingAESKey、将消息加密方式选择为明文模式,点击提交时微信会进行服务器的 Token 验证。

    响应微信发送的Token验证

    项目使用 express 开发,中间件 wechatAuth 如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    var app = express();

    const crypto = require('crypto');
    const url = require('url');

    //进行sha1加密
    function sha1(str) {
    let shasum = crypto.createHash("sha1");
    return shasum.update(str,'utf-8').digest("hex");
    }

    function wechatAuth(req, res) {
    let signature = req.query.signature;
    let echostr = req.query.echostr;
    let timestamp = req.query.timestamp;
    let nonce = req.query.nonce;

    let reqArray = [nonce, timestamp, process.env.WX_TOKEN]; // process.env.WX_TOKEN对应填写服务器配置内的 Token

    reqArray.sort(); //对数组进行字典排序
    let sortStr = reqArray.join(''); //连接数组
    let sha1Str = sha1(sortStr.toString().replace(/,/g,""));
    if (signature === sha1Str) {
    res.end(echostr);
    } else {
    res.end("false");
    console.log("授权失败!");
    }
    }

    app.use('/wx/token',wechatAuth); // 对应填写服务器配置内的 URL

    服务器上线后点击基本配置打开该页面内的提交即可

  • 相关阅读:
    单步调试及回滚测试
    程序员的自我修养阅读笔记03
    第八周总结
    NABCD项目分析
    程序员的自我修养阅读笔记02
    第七周总结
    程序员的自我修养阅读笔记01
    第六周总结
    结对地铁开发
    第五周总结
  • 原文地址:https://www.cnblogs.com/kkdn/p/8963288.html
Copyright © 2020-2023  润新知