(一)验证微信公众平台

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

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

第一步,进入验证页面:


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

{ 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] = "*****************";//这里填写你的tokenoriArray.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秒),请保证服务器连接质量。



本文链接:https://my.lmcjl.com/post/4133.html

展开阅读全文

4 评论

留下您的评论.