(一)验证微信公众平台

来源:互联网 发布:windows 7主题 编辑:程序博客网 时间:2024/06/11 19:37

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

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

第一步,进入验证页面:


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

{ 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秒),请保证服务器连接质量。



原创粉丝点击