1234567891011121314151617181920212223242526272829303132 |
- '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;
- }
- };
- };
|