Passport Jwt Strategy停止工作

时间:2017-11-26 10:08:58

标签: node.js express jwt passport.js

我不知道发生了什么,但我的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

包头中>授权:JWT eyJhb ......

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

0 个答案:

没有答案