(一)验证微信公众平台
来源:互联网 发布:js字符串转数字 编辑:程序博客网 时间:2024/06/11 13:36
参考这篇文章http://blog.csdn.net/nogrief/article/details/9774773,发现了一些问题,修正并完善如下:
1、开发环境是bae,nodejs,因此增加日志调试(当然这个日志是给本地测试用的,如果是用bae的日志需要配置地方修改一下,由于牵扯到用户名和密码这里就去除了)
2、validateToken函数的第一个参数是url.parse(req.url,true),而不是req,这块找了不少资料才知道
3、修正了原始代码运行过程中的错误
var http = require('http');var port = 18080;
var log4js = require('log4js');{ log4js.configure({ appenders: [ { type: 'console' }, //控制台输出 { type: 'file', //文件输出 filename: 'logs/access.log', maxLogSize: 1024, backups:3, category: 'normal' } ] }); var logger = log4js.getLogger('normal'); logger.setLevel('INFO');}
logger.trace('baev3-log trace log begin');
var url = require('url');var crypto = require('crypto');
http.createServer(function(req, res) { logger.info('call fun validateToken begin'); validateToken(url.parse(req.url,true),res); logger.info('call fun validateToken end');
function validateToken(req, res) { logger.info('enter fun validateToken'); var query = req.query; var signature = query.signature; logger.info('signature=' + signature); var echostr = query.echostr; logger.info('echostr=' + echostr); var timestamp = query['timestamp']; logger.info('timestamp=' + timestamp); var nonce = query.nonce; logger.info('nonce=' + nonce);
var oriArray = new Array(); oriArray[0] = nonce; oriArray[1] = timestamp; oriArray[2] = "abcdefg"; //这里填写你的token oriArray.sort(); var original = oriArray[0]+oriArray[1]+oriArray[2]; logger.info("Original Str:"+original); logger.info("signature:"+signature); var scyptoString = sha1(original); if (signature == scyptoString) { logger.info("echostr="+echostr); res.end(echostr); } else { logger.info("Bad Token!"); res.end("Bad Token!"); } logger.info('leave fun validateToken'); }
function sha1(str) { var md5sum = crypto.createHash('sha1'); md5sum.update(str); str = md5sum.digest('hex'); return str; }
}).listen(port);
- (一)验证微信公众平台
- (一)验证微信公众平台
- 微信公众平台开发【一】 验证消息真实性
- 微信公众平台开发(一)
- 微信公众平台开发(一)
- 微信公众平台介绍(一)
- #微信公众平台开发(一)
- VB.net 微信公众平台开发(一) Token验证
- (转载)微信公众平台 - 实例(未验证)
- 微信公众平台开发(1)验证TOKEN源码
- jsp 微信公众平台 token验证
- 微信公众平台Token验证失败
- jsp 微信公众平台 token验证
- 微信公众平台Token验证
- java验证微信公众平台
- golang微信公众平台验证
- 微信公众平台 45047 验证说明
- 微信公众平台开发(41)一键关注微信公众平台账号
- 继续畅通工程 hdu 最小生成树
- HackThisSite/Basic 4解决方案
- android测试基本原理
- java的守护进程setDaemon
- Reading and Writing CSV Files in C#
- (一)验证微信公众平台
- Android Message和obtainMessage的区别
- 《UNIX环境高级编程》笔记--记录锁
- Log4j配置详细说明
- 从USB设备插上到驱动probe调用流程分析
- alpha版、beta版、rc版的意思
- Intellij idea使用eclipse的java代码格式化文件
- Java栈和局部变量操作(二)
- VirtualBOX安装Mac OS X 10.7正式版