node微信公众号服务器配置

2017-11-29  本文已影响0人  adtk
const koa= require('koa');
const router = require('koa-router')();
const bodyParser = require('koa-bodyparser');
const crypto = require('crypto');//加密模块
var  app = new koa();
app.use(bodyParser());

function signFn(arr){
    const sha1  = crypto.createHash('sha1');//sha1
    var str=arr.sort().join('');
    sha1.update(encodeURI(str));//添加需要的加密数据
    return sha1.digest('hex');//加密,(hex表示16进制)
}

router.get("/",async function(ctx,next){
    ctx.body='index'
})
router.get("/url_token",async function(ctx,next){
    // 对值进行排序sha1加密
    var obj=['server',ctx.query.timestamp,ctx.query.nonce];
        // token:'server',
        // timestamp:ctx.query.timestamp,
        // nonce:ctx.query.nonce
    var sign=signFn(obj);
    if(sign==ctx.query.signature){
        ctx.body=ctx.query.echostr //对比成功原样返回微信请求的echostr 字段
    }else{
        ctx.body='不匹配'
    }
})


app.use(router.routes());
app.listen(80);//端口80或者443
image.png
上一篇下一篇

猜你喜欢

热点阅读