Node.js 微信公众号-基本配置-服务器URL

1、验证签名

在提交配置时,服务器对应的URL需要实现签名的验证,成功时,需要直接返回 echostr 的值,注意此时URL对应的接口为get请求

                        const { signature, timestamp, nonce, echostr  } = _req.query;

                        const token = "my_token"; // 公众号配置时的Token

                        const tmpArr = [token, timestamp, nonce];

                        tmpArr.sort();

                        // 引入加密模块

                        const crypto = require('crypto');

                        // 创建哈希对象

                        const sha1Hash = crypto.createHash('sha1');

                        // console.log("排序后连接:", tmpArr.join(""))

                        sha1Hash.update(tmpArr.join(""));

                        const hashedData = sha1Hash.digest('hex');

                        // console.log(hashedData, signature);

                        if (hashedData == signature) {

                                res.end(echostr);

                        }

2、消息推送

在用户操作时(关注、取消关注、扫描公众号二维码码等操作时),微信公众号会发送消息到基本配置中的URL对应的接口,注意此时URL对应的接口为post请求,也就是说URL对应的接口需要同时支持get和post请求。而且需要在IP白名单中添加服务器的IP地址

3、完整示例

// router.js

var api = require('./api'</

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QmagicianRX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值