【发布时间】:2020-01-11 20:13:56
【问题描述】:
我正在尝试使用 NodeJS、Express 和 Mongoose 构建身份验证部分。
我使用护照、本地护照和本地护照猫鼬。
最初,我认为它可能与 express-session 有关,因此我尝试将其替换为 cookie-session 但没有骰子。
在验证新注册用户并将他们重定向到仪表板后,仪表板无法正确呈现。似乎不包括我作为部分的标题。未应用样式,并且包含在页脚中的脚本在第 1 行生成错误 -> $ 未定义。
我已将 app.js 文件配置为:
app.use(passport.initialize());
app.use(passport.session());
我的用户架构中有这个:
userSchema.plugin(passportLocalMongoose, {
usernameField : "email"
});
我把它放在我的用户路由中: (它也曾经在 app.js 文件中,但结果相同)
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
.
.
} else {
passport.authenticate("local")(req, res, function() {
res.redirect(req.user.email)
})
.
.
如果我在没有对用户进行身份验证的情况下执行 res.redirect(req.user.email),则页面呈现应有的状态,因此这告诉我它很可能是由于 passport.authenticate() 导致的。
任何建议将不胜感激。让我知道是否需要包含更多内容,但我尽量减少内容,因为有很多与此问题无关的内容。
【问题讨论】:
标签: node.js express passport.js passport-local