007.jwt验证

2019-02-24  本文已影响2人  cmd_ts

cnpm i jwt-simple koa-jwt --save

app.use(function(ctx, next){
    return next().catch((err) => {
        console.log(err);
        if (401 == err.status) {
            ctx.status = 200;
            ctx.body = {"code":error.error_code.token_error,"code_msg":error.error_msg.token_error};
        } else {
            console.log(err);
            ctx.status = 200;
            ctx.body = {"code":error.error_code.token_error,"code_msg":error.error_msg.token_error};
            //throw err;
        }
    });
});

app.use(koaJwt({secret:config.jwt_secret}).unless({
    path:[/^\/login/]
}))
router.get('/', async (ctx)=> {
  console.log(ctx.request.query);
  let payload = {
    exp:(Date.now() + config.token_time)/1000,
    name:'cmd',    
  }
  let token = jwt.encode(payload, config.jwt_secret);
  ctx.body = {
    user:'cmd',
    code:error.error_code.ok,
    token
  }
});

router.get('/cmd',async (ctx)=> {
  //ctx.body = 'this a index/hi response!';
  console.log(ctx.state);
  let token = ctx.header.authorization;
  ctx.body = {
    token:token,
    user:ctx.state.user
  }
  let payload = jwt.decode(token.split(' ')[1], config.jwt_secret);
    console.log(payload)
    console.log(Date.now());
});
上一篇 下一篇

猜你喜欢

热点阅读