我正在使用nodejs和passport js通过passport-jwt策略进行授权。这是我的代码。它与JWT令牌一起使用。但是,如果未提供令牌,它将以文本格式“未授权”给出响应。我想自定义它并使其以json格式。
未经身份验证的请求如何返回定制的json响应。
router.get('/users',passport.authenticate('jwt', {session:false}), UserController.get);
这是策略定义。
var opts = {};
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken();
opts.secretOrKey = CONFIG.jwt_encryption;
passport.use(new Strategy(opts, async function(jwt_payload, done){
let err, user;
[err, user] = await to(User.findById(jwt_payload.user_id));
if(err) return done(err, false);
if(user) {
return done(null, user);
}else{
return done(null, false);
}
}));