码迷,mamicode.com
首页 > 微信 > 详细

NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)

时间:2018-04-27 17:53:17      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:方式   依次   分享图片   ref   else   发送   wechat   aes   文档   

背景

使用 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

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

 

技术分享图片

NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)

标签:方式   依次   分享图片   ref   else   发送   wechat   aes   文档   

原文地址:https://www.cnblogs.com/kkdn/p/8963288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!