【发布时间】:2017-02-15 18:07:20
【问题描述】:
我在使用护照和 jwt 设置我的第一个项目时遇到问题。使用 Postman 我尝试使用不同的帐户登录,但如果我尝试返回 req.user 对象,它会返回相同的用户信息。否则,如果我尝试登录 jwt_payload 是正确的(不同的用户信息)。谁能解释我为什么? (我插入选项session: false)
我的 jwt 策略函数:
var confStrategy = function(passport) {
passport.use( new JwtStrategy( opts, function(jwt_payload,done) {
User.findOne({id: jwt_payload.sub},function(err,user) {
if(err) return done(err,none);
if(user) {
done(null,user);
} else {
done(null,false);
}
});
}));
};
app.js sn-p
app.use(passport.initialize());
passConf.confStrategy(passport);
app.get('/api/:name',passport.authenticate('jwt', { session: false }),function(req,res) {
console.log(req.user);
res.send('Hello ' + req.user.email);
});
【问题讨论】:
标签: node.js authentication express jwt passport.js