第一章:验证微信公众平台
如何验证微信公众平台,相信网上已经有很多教程了,这里不再赘述过程,仅仅截图说明一下:
第一步,进入验证页面:
提交到服务器上的报文为:
{ signature: '7032b0ab6a41f2fb382d782d1dd8a65e12b2dfb2',
echostr: '5904622633625829580',
timestamp: '1375715532',
nonce: '1374777116' }
废话少说了,上代码:
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秒),请保证服务器连接质量。