我正在尝试正确设置我的护照会话。在用户注册后,我执行
那个控制台消息(来自post调用)返回:
req.login()
,然后有一个控制台消息console.log(req.user)
。它返回:
{ email: 'xxxx', password: 'xxxx', id: 0 }
因此,似乎在用户创建后,req.user
是可用的。但是,当用户登录时,我有这个路由:app.post('/login', passport.authenticate('local-login', { failureRedirect: '/login'}),
function(req, res) {
console.log(req.user);
res.redirect('/users');
}
);
那个控制台消息(来自post调用)返回:
{ id: null,
email: 'xxxxx',
password: 'xxxxx' }
如您所见 - 登录后 - 它会重定向到 /users
- 这是我的 GET 请求:
app.get('/users', function(req, res){
console.log(req.user);
res.render('partials/profile.html');
});
控制台消息返回undefined
- 因此req.user
未被传递。此外,如果我使用console.log(req.session)
检查会话,我会得到:
{ cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true,
secure: true },
passport: {} }
因此,您可以看到 - cookie中没有护照用户,它是一个空集。
我错在哪里了?
谢谢!