'use strict'; module.exports = options => { return async function jwt(ctx, next) { const str = ctx.request.header.authorization; let decode; if (str) { try { const token = str.substring(7); // 解码token decode = ctx.app.jwt.verify(token, options.secret); } catch (error) { ctx.status = 401; ctx.body = { errmsg: error.message, errcode: -1001, }; return; } if (decode) { await next(); return decode; } } else { ctx.status = 401; ctx.body = { errmsg: '身份过期,重新登录', errcode: -1002, }; return; } }; };