前提
- 你已经注册好了微信的公众账号(订阅号或服务号)
- 你可以快速的架设你的服务器(heroku, ec2, 阿里云等等)
- Nodejs的基础
Express
Express是一个Nodejs的web框架,可以让你用简便的方式来写nodejs应用
npm -g install express #让你在除了当前文件夹以外的地方都可以用express
代码
首先来写一个简单的中间件(middleware)。所谓的中间件其实就是一个有三个参数的方程,三个参数分别是req(请求),res(回应),next(下一个中间件)。中间件的主要目的是给req和res做一些处理,然后再交给下一个中间件。那么下面定义一个文件wechatAuth.js
var crypto = require('crypto')
, TOKEN = 'TOKEN';
var isValidWechatRequest = function(signature, timestamp, nonce){
var arr = [TOKEN, timestamp, nonce];
arr.sort();
return crypto.createHash('sha1').update(arr.join('')).digest('hex')
=== signature;
};
module.exports = function(req, res, next){
var query = req.query;
if ( isValidWeixinRequest(
req.query.signature
, req.query.timestamp
, req.query.nonce)){
next();
}else{
//没有通过微信服务器的验证,可能是微信服务器出错或者恶意请求
res.send('You didnt pass the validation');
}
};
- sdf
- sdflkj
- sdfk
- fdfjhello
``` fuck this shit var a = 1
```
3.times {|f| puts f}