快递护照:永远不会调用JwtStrategy回调

时间:2019-01-26 15:05:18

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

我为节点express rest api层设置了护照。我想在初始登录时使用本地护照,在初始登录后使用passport-jwt传递令牌。我在未添加jwt令牌的情况下命中端点时遇到了奇怪的错误。我看到了调用jwtStrategy函数的位置,但是,我没有收到任何错误消息或异常,回调从未触发。 JwtStrategy会检查空的令牌标头还是由开发人员决定?

这是jwt策略功能:

export let jwtStrategy = (req, res, next) => {
    try {
        return new JwtStrategy({
                jwtFromRequest: ExtractJwt.fromAuthHeaderWithScheme('jwt'),
                secretOrKey: process.env.AUTH_KEY
            },
            async (jwt_payload, done) => {
                try {
                    let member = await getMemberProfile(jwt_payload.memberId);
                    if (! member) {
                        throw new NotFoundError('Could not local this member.');
                    }

                    return done(null, {
                        memberId: member._id
                    });
                } catch (err) {
                    return done(err, false);
                }
            });
    } catch (e) {
        throw e;
    }
}

这是我正在测试的路线:

app.use('/', passport.authenticate('jwt', {session: false}, jwtStrategy), indexRouter);

0 个答案:

没有答案