Я новичок в node js и пытаюсь проверить, аутентифицирован ли пользователь после регистрации.
Я использую паспорт, паспорт-местный и паспорт-местный-мангуст, чтобы сохранить пользователя в базе данных mongoDB.
Вот как пользователь регистрируется:
app.post("/register", function (req, res) {
const username = req.body.username;
const password = req.body.password;
User.register({username: username}, password, function (err, user) {
if (err) {
console.log(err);
res.redirect("/register");
} else {
passport.authenticate("local")(req, res, function () {
res.redirect("/drive");
});
}
});
});
И вот как я пытаюсь проверить аутентифицирован ли пользователь:
app.get("/drive", function (req, res) {
if (req.isAuthenticated()) {
res.render("drive");
} else {
res.redirect("/login");
}
});
Если я использую isAuthenticated() в качестве вызова функции, эта логика не будет работать, и я всегда буду перенаправляться на страницу входа, если я использую isAuthenticated. (не вызов функции), эта логика будет работать.
Я не понимаю, в чем разница между этими двумя (в контексте пакета паспорта) и почему один работает, а другой нет.