node微信公众号开发---域名绑定

时间:2023-03-08 22:04:39
node微信公众号开发---域名绑定
var TOKEN='weixin';           //必须与测试号所填写的Token相同

function checkSignature(params,token){
var key=[token,params.timestamp,params.nonce].sort().join('');
//将token (自己设置的) 、timestamp(时间戳)、nonce(随机数)三个参数进行字典排序
var sha1=crypto.createHash('sha1');
//将上面三个字符串拼接成一个字符串再进行sha1加密
sha1.update(key);
return sha1.digest('hex') ==params.signature;
//将加密后的字符串与signature进行对比,若成功,返回echostr
} /* GET home page. */
router.get('/', function(req, res, next) { var query = req.query;
var params=qs.parse(query);
if(!checkSignature(params,TOKEN)){
//如果签名不对,结束请求并返回
res.send('signature fail');
}
if (req.method == "GET") {
//如果请求是GET,返回echostr用于通过服务器有效校验
res.send(params.echostr);
}else{
res.send({post:"json",wexin:"这是微信访问接口"})
}
});

 这里域名绑定,需要做外网穿透,可以参考 http://www.cnblogs.com/muamaker/p/8432586.html