(一)验证微信公众平台

第一章:验证微信公众平台

如何验证微信公众平台,相信网上已经有很多教程了,这里不再赘述过程,仅仅截图说明一下:

第一步,进入验证页面:


提交到服务器上的报文为:

{ signature: '7032b0ab6a41f2fb382d782d1dd8a65e12b2dfb2',
  echostr: '5904622633625829580',
  timestamp: '1375715532',
  nonce: '1374777116' }


这时候,需要将你的token,timestamp,和nonce三个字符串的值,按照字母排序进行拼接,然后进行sha1,所得出的结果,应该与signature一致,最后,将echostr返回给服务器。

废话少说了,上代码:

function validateToken(req, res) {
    var query = req.query;
    var signature = query.signature;
    var echostr = query.echostr;
    var timestamp = query['timestamp'];
    var nonce = query.nonce;
    var oriArray = new Array();
    oriArray[0] = nonce;
    oriArray[1] = timestamp;
    oriArray[2] = "*****************";//这里填写你的token
    oriArray.sort();
    var original = oriArray[0]+oriArray[1]+oriArray[2];
    console.log("Original Str:"+original);
    console.log("signature:"+signature);
    var scyptoString = sha1(original);
    if (signature == scyptoString) {
        res.send(echostr);
    }
    else {
        res.send("Bad Token!");
    }
}
再附上sha1的调用:

var crypto = require('crypto');
function sha1(str) {
    var md5sum = crypto.createHash('sha1');
    md5sum.update(str);
    str = md5sum.digest('hex');
    return str;
}


只要正确,公众平台会提示验证成功。


最后值得注意的一点,公众平台请求超时比较短(5秒),请保证服务器连接质量。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值