我正在使用PassportJS
,并且此代码用于注销:
.get("/logout", async (req, res) => {
await req.logout();
req.session = null;
await res.clearCookie(process.env.PROJECT_TITLE.toLowerCase());
await res.clearCookie(`${process.env.PROJECT_TITLE.toLowerCase()}.sig`);
return res.redirect("/");
});
它只是更改cookie,但不删除它们。 为什么?
如果我仅使用以下代码,它将删除它们:
.get("/logout", async (req, res) => {
await res.clearCookie(process.env.PROJECT_TITLE.toLowerCase());
await res.clearCookie(`${process.env.PROJECT_TITLE.toLowerCase()}.sig`);
return res.redirect("/");
});
我在哪里错了?
答案 0 :(得分:1)
像在this tutorial中一样,将req.session = null
放入注销路由以清除会话cookie。如果仍然不能解决问题,请尝试在浏览器中清除项目URL的现有cookie,然后重试。我只是遇到了这个问题,这就是解决问题的方法!