私がログインすると認証されますが、別のページに切り替えるとreq.isAuthenticatedがfalseを返し、ログインパネルに表示されます。もう1つは、ログインしたときに「送信後にヘッダーを設定できません」というエラーが発生し続けることです。あなただけpassport
ミドルウェアによって認証されているので、当然のReq.isAuthenticatedが偽に変わる
const isLoggedIn = (req, res, next) => {
if (req.isAuthenticated()) {
return res.end();
} else {
return res.redirect("/login");
}
}
module.exports = (app, passport) => {
app.post("/login", (req, res, next) => {
passport.authenticate("local-login",
(err, user, info) => {
if(!user) {
res.render("index", { message: "Wrong password or login!" })
} else {
req.login(user, (error) => {
if (error) return next(error);
console.log("AUTH: ", req.isAuthenticated()) <--- RETURNS TRUE
return res.render("map", { name: user.name });
});
}
})(req, res, next);
});
app.get("/", (req, res) => {
return res.render("index"); // load the index file
})
app.get("/login", (req, res) => {
return res.render("index"); // load the index file
})
app.get("/map", isLoggedIn, (req, res) => {
return res.render("map");
});
app.get("/vehicles", isLoggedIn, (req, res) => {
return
});
app.get("/settings", isLoggedIn, (req, res) => {
res.render("settings");
});
app.get("/logout", (req, res) => {
req.logout();
res.redirect("/");
});
};
感謝を使用する必要があります。ログインした後はすべてOKですが、例のマップをクリックすると、私のreq.sessionはリセットのようです – Miqez