【发布时间】:2017-01-12 22:02:06
【问题描述】:
我遇到了一个问题,它总是在未经授权的情况下返回给我。当我将标题授权设置为收到的令牌时。它返回。
未经授权
.
router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) => {
res.json('It worked: User ID is: ' + req.user._id);
});
.
var jwtOptions = {
jwtFromRequest: ExtractJwt.fromAuthHeader(),
secretOrKey: config.jwt.secretOrKey
//issuer: config.jwt.issuer,
//audience: config.jwt.audience,
};
passport.use(new JWTStrategy(jwtOptions, (jwt_payload, done) => {
User.findOne({id: jwt_payload.id}, (err, user) => {
if (err) {
return done(err, false);
}
if (!user) {
return done(null, false);
}
return done(null, user);
});
}));
【问题讨论】:
-
确保您使用相同的
SecretKey来签署令牌和验证传入令牌,并确保您将令牌过期时间保持足够长,以便它不会很快过期你的测试。
标签: node.js express jwt passport.js