在护照js中使用passport-jwt策略时,如何在nodejs中以json格式发送未经授权的响应状态?

时间:2019-01-19 14:23:47

标签: node.js authentication passport.js passport-jwt

我正在使用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);
        }
    }));

0 个答案:

没有答案