12345678910111213141516171819202122232425262728 |
- const jsonWebToken = require('jsonwebtoken');
- module.exports = (options, app) => {
- return async function jwt(ctx, next) {
- // if( app.config.env == 'local' || true) { //本地测试环境,设置一个fake用户,跳过登录
- // ctx.state.user = { id: 1}
- // await next();
- // return;
- // }
- let authToken = ctx.header.authorization;
- if (!authToken) {
- ctx.bodyResult(401, null,'no header.authorization!');
- return;
- }
- let ret = await ctx.jwtVerify(authToken, options.secret, options.options);
- if( !ret.verify )
- {
- ctx.bodyResult(401, null,ret.message);
- return;
- }
-
- ctx.state.user = ret.message;
- await next();
- };
- };
|