通过原生 Node.js 实现微信 Token 验证。
//引入必要包 var http = require ('http'), url = require ('url'), crypto = require ('crypto'); //创建服务器 http.createServer (function (req, res ) { res.writeHead (200, { 'Content-Type': 'text/html; charset=' }); // 参数转 sha1 的一系列处理 var query = url.parse (req.url, true ).query, token = 'YOUR TOKEN', array = [token, query.timestamp, query.nonce], key = array.sort ().join (''), sha1 = crypto.createHash ('sha1').update (key ).digest ('hex'); // sha1 处理结束 if (sha1 == query.signature ) { res.write (query.echostr ); // 返回 echostr 实现验证 } else { res.write ('Error, Token verification failed.'); // 返回错误信息 } res.end (); }).listen ('62002'); // 监听端口,通过 Apache 或者 Nginx 转发,微信只支持 80 端口。
这个是新人贴。:)
![]() | 1 zonghua 2015-09-06 09:03:06 +08:00 via iPhone 咦,我记得验证是需要两步的,还要一个链表翻转 |
![]() | 2 song940 2015-09-06 09:32:38 +08:00 via iPhone |