12345678910111213141516171819202122232425262728293031 |
- import jwt from 'jsonwebtoken';
- const defaultOption = {
- secret: '',
- headerName: 'authorization',
- whiteList: ['/login', '/register'],
- };
- export default function (opts) {
- let { secret, headerName } = { ...defaultOption, ...opts };
- return async (ctx, next) => {
- try {
- const token = ctx.headers[headerName].replace('Bearer ', '');
- if (token == jwt.sign(jwt.verify(token, secret), secret)) {
- await next();
- } else {
- ctx.body = {
- code: 401,
- message: '您还未登录或登录已超时',
- };
- }
- } catch (err) {
- ctx.body = {
- code: 401,
- message: '登录已超时',
- };
- }
- };
- }
|