diff --git a/app.js b/app.js index 0186a31..4be2407 100644 --- a/app.js +++ b/app.js @@ -11,6 +11,7 @@ const cors = require('koa-cors'); const index = require('./routes/index') const users = require('./routes/users') const filterUrl = require(__dirname+'/util/filterUrl') +var tokenUtil = require('./util/tokenUtil'); const _ = require('lodash'); // error handler onerror(app) @@ -30,17 +31,25 @@ app.use(views(__dirname + '/views', { // logger app.use(async (ctx, next) => { - const start = new Date(); - if(filterUrl.indexOf(ctx.request.url) != -1){ - await next(); - }else if(!ctx.header.token){ - ctx.response.status = 400; - ctx.response.body = {msg:'请登录'} - }else{ - await next(); + try{ + const start = new Date(); + if(filterUrl.indexOf(ctx.request.url) != -1){ + await next(); + }else if(!ctx.header.token){ + ctx.response.status = 200; + ctx.response.body = {code:0,msg:'请登录'} + }else{ + let isToken = await tokenUtil.prverifySession(ctx.header.token); + await next(); + } + const ms = new Date() - start; + console.log(`${ctx.method} ${ctx.url} - ${ms}ms`) + }catch (e){ + console.log('返回的err',e.message) + ctx.response.status = 200; + ctx.response.body = {code:0,msg:e.message} } - const ms = new Date() - start - console.log(`${ctx.method} ${ctx.url} - ${ms}ms`) + }) // routes diff --git a/util/filterUrl.js b/util/filterUrl.js index a04f6ef..b995a9d 100644 --- a/util/filterUrl.js +++ b/util/filterUrl.js @@ -1 +1 @@ -module.exports = ["/users/addUser","/users/login"] \ No newline at end of file +module.exports = ["/users/addUser",] \ No newline at end of file diff --git a/util/tokenUtil.js b/util/tokenUtil.js index c10c368..1499525 100644 --- a/util/tokenUtil.js +++ b/util/tokenUtil.js @@ -15,7 +15,8 @@ module.exports = new JwtSession() ; * @param cb */ JwtSession.prototype.getSession = (users) =>{ - var expiresIn = 60 * 60 * 60 * 60 * 60; + // var expiresIn = 60 * 60 * 60 * 60 * 60; + var expiresIn = 60 * 60 ; var payload = {}; payload.id = users.id; payload.name = users.loginName; @@ -36,16 +37,10 @@ JwtSession.prototype.getSession = (users) =>{ * @param token * @param cb */ -JwtSession.verifySession = function (token,cb) { - jwt.verify(token, 'Efangcpap',function (err ,data) { - console.dir(data); - if (err && err.name === 'TokenExpiredError') { - cb && cb({message: 'token expired'}); - } else if (err && err.name === 'JsonWebTokenError') { - cb && cb({message: 'invalid token'}); - }else { - cb && cb (null,data); - } - }); - +JwtSession.prototype.prverifySession = async(token) => { + try { + let back =jwt.verify(token, '3mang'); + } catch (error) { + throw new Error(error) + } };