gpt4 book ai didi

javascript - Passport req.isAuthenticated() 总是返回 false

转载 作者:搜寻专家 更新时间:2023-10-31 23:17:05 26 4
gpt4 key购买 nike

我正在尝试使用快速 session 来登录用户。我希望用户在登录后能够转到个人资料页面并查看他们的用户数据。

在我的 routes.js 的第 9 行:req.isAuthenticate() 返回 false,即使我已经成功登录用户。

我的最终目标是在/passport GET 路由中定义 req.user,即保存到 session 中的 Passport ,以便我可以将其作为数据发送到我的模板引擎。

https://gist.github.com/anonymous/f6ecb472eb082775181e#file-routes-js-L9

提前致谢

最佳答案

我认为您的序列化/反序列化有问题。

关于序列化,您需要指定如何序列化用户。根据您的代码,您正在使用用户的 ID 来序列化它们。这就是将要用于反序列化的内容。因此,您应该只希望从输入参数中获得一个 ID,并且您必须找到链接到该 ID 的用户并将其传递给回调。

这就是你应该做的:

passport.serializeUser(function(user, done){
done(null, user.id)
})

passport.deserializeUser(function(id, done){
User.findById(id, function(err, user){
done(err, user)
})
})

关于javascript - Passport req.isAuthenticated() 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34487736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com