const router = require('koa-router')() const jwt = require('jsonwebtoken') const util = require('util') const verify = util.promisify(jwt.verify) // 解密 router.get('/:checkToken', async function (ctx, next) { if (ctx.request.header['authorization']) { let token = ctx.request.header['authorization'].split(' ')[1] //解码token let payload = await verify(token, 'dljc') if (payload) { return next() } else { ctx.body = { message: 'token过期' } //如果权限没问题,那么交个下一个控制器处理 } } else { ctx.body = { message: '没有token' } } }) const tokenCheck = function () { return async function (ctx, next) { if (ctx.query.JWT) { let token = ctx.query.JWT.split('.') //解码token // let payload1 = await verify(token[0], 'sxyd') // let payload3 = await verify(token[2], 'sxyd') let str1 = new Buffer(token[0].toString('base64') , 'base64').toString(); let str2 = new Buffer(token[1].toString('base64') , 'base64').toString(); let payload = await verify(token[2], 'sxyd') if (payload) { return next() } else { ctx.body = { message: 'token过期' } //如果权限没问题,那么交个下一个控制器处理 } } else { ctx.body = { message: '没有token' } } // if (ctx.state.user) { // // 如果携带有效 Token 就对 Token 进行检查(由 kow-jwt 检查 Token 有效性) // let result = true // // check here // if (result) { // await next() // } else { // ctx.body = { // msg: "Token 检查未通过" // } // } // } else { // // 如果没有携带 Token 就跳过检查 // await next() // } } } module.exports = tokenCheck //module.exports = router // module.exports = async (ctx, next) => { // if (ctx.request.header['authorization']) { // let token = ctx.request.header['authorization'].split(' ')[1] // //解码token // let payload = await verify(token, 'FM_Monitor') // if (payload) { // return next() // } else { // ctx.body = { // message: 'token过期' // } // //如果权限没问题,那么交个下一个控制器处理 // } // } else { // ctx.body = { // message: '没有token' // } // } // }