我的问题类似于这个问题,但他的解决方案没有深入探讨。
我正在使用Passport来进行Instagram身份验证。成功验证后,用户被重定向到“/”。此时,请求具有用户对象(也就是说它正在工作)。但是,一旦我重定向,req.user就变成了未定义状态。:'(
奇怪的是,每次请求都会调用passport.deserializeUser。它可以成功获取用户对象,但在中间件的某个地方,req.user没有被设置(或被取消设置)。
// on successful auth, goto "/"
app.get('/', function(req, res) {
// if the request has the user object, go to the user page
if (req.user) {
res.redirect("/user/" + req.user._id);
}
res.render("index");
}
app.get('/user/:uid', function(req, res) {
console.log(req.user) // undefined
}
app.use(...)
)方面的。可能是因为你的会话cookie过期时间太短,或者你的中间件顺序有误。 - robertklep