最佳答案
我的问题类似于这个 一,但是没有洞察到他的解决方案。
我用护照在 Instagram 上认证。成功的身份验证之后,用户被引导到“/”。此时,请求具有用户对象(也就是它正在工作)。但是,一旦重定向,req.user 就是未定义的。:'(
奇怪的是,每个请求都会调用 passport.derializeUser。它成功地获取了用户对象,但是在中间件过程中,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
}