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'
|
// }
|
// }
|
// }
|