首页 > 编程语言 >小程序之消息推送(node.js)

小程序之消息推送(node.js)

时间:2023-02-17 11:36:30浏览次数:34  
标签:node nonce timestamp 程序 crypto js token let 推送

1、打开微信公众平台,登录小程序后台配置界面,开发管理>消息推送(开启)>配置(注意:这里我使用的是https,明文传输,JSON格式,如果是http,建议使用加密或者兼容模式,那么在这个url接口代码中,获取的参数要进行解密)
2、后台代码

   // 认证微信小程序发送消息的Token
   router.get('/api/wxmini/certificationToken',controller.wxmini.certificationToken)
 1 'use strict';
 2 const BaseController = require('../core/base_controller');
 3 const crypto = require('crypto');
 4 
 5 class WxminiController extends BaseController{
 6   // 小程序后台添加的Token认证
 7   certificationToken(){
 8     const {signature,timestamp,nonce,echostr} = this.ctx.query;
 9     // token、timestamp、nonce三个参数进行字典序排序
10     let token = "owl"
11     let sortList = [token, timestamp, nonce].sort().join("");
12     // 将三个参数字符串拼接成一个字符串进行sha1加密
13     let sha = crypto.createHash('sha1');  // 加密
14     let strString = sha.update(sortList).digest('hex');
15     
16     if(strString == signature){
17       // 成功应答
18       this.ctx.body = echostr;
19     }else{
20       this.ctx.body = {"message":"失败"}
21     }
22   }
23 }
24 module.exports = WxminiController;

3、在小程序消息配置界面,尝试发送验证token,配置完成,会得到如下界面:

 

标签:node,nonce,timestamp,程序,crypto,js,token,let,推送
From: https://www.cnblogs.com/yunjiao/p/17129495.html

相关文章