我不知道发生了什么,但我的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 ......
我在这里做错了吗?任何帮助表示赞赏