【问题标题】:Passport Jwt Strategy Stopped workingPassport Jwt 策略停止工作
【发布时间】:2018-05-09 17:59:45
【问题描述】:

我不知道发生了什么,但我的 Passport Jwt Auth 不再有效。

在 app.js 中

app.use(passport.initialize());

passport.serializeUser(function (user, done) {
    done(null, user);
});
passport.deserializeUser(function (user, done) {
    done(null, user);
});

passport.use(new JwtStrategy({
        secretOrKey: jwtSecret,
        jwtFromRequest: JwtExtract.fromAuthHeaderAsBearerToken()
    }, function (payload, done) {
        console.log("Auth : JwtStrategy");
        moduleUser.User.findById(payload._doc._id)
            .exec()
            .then(function (user) {
                    if (user) done(null, user);
                    else done(null, false);
                }
            )
            .catch(function (err) {
                return done(err, false);
            });
    }
));

注意:console.log("Auth : JwtStrategy");永远不会被调用

我的登录 API

router.post('/login', function (req, res) {
    if (req.body.username && req.body.password) {
        moduleUser.User.findOne({username: req.body.username, password: req.body.password})
            .exec()
            .then(function (user) {
                if (user) {
                    res.status(200).json({
                        message: 'Login successful',
                        token: 'JWT ' + jwt.sign(user.toObject(), jwtSecret, {expiresIn: '14 days'})
                    });
                } else {
                    res.status(404).json({
                        message: 'Please enter valid login details'
                    });
                }
            })
    } else {
        res.status(401).json({
            message: 'All information not provided'
        });
    }
});

还有我不工作的私人路线

router.get('/private', passport.authenticate('jwt', {session: false}),
    function (req, res) {
        res.send('respond with a resource!!!!');
    }
);

`

我总是收到 401 作为响应

网址:http://localhost:5000/users/private

Headers-> 授权:JWT eyJhb......

我在这里做错了吗?任何帮助表示赞赏

【问题讨论】:

  • 有人吗?没有帮助?

标签: node.js express jwt passport.js


【解决方案1】:

固定

而不是使用

Authorization: JWT eyJhb......

二手

Authorization: Bearer eyJhb......

感谢nexig

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 2019-05-21
    • 2018-03-05
    • 2018-09-14
    • 1970-01-01
    • 2022-12-24
    • 2020-07-14
    • 2021-06-11
    • 1970-01-01
    相关资源
    最近更新 更多