0

我正在使用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("/");
  });

我哪里错了?

4

1 回答 1

2

像本教程req.session = null所做的那样,输入您的注销路线以清除会话 cookie 。如果这仍然不起作用,请尝试在浏览器中清除项目 URL 的现有 cookie,然后重试。我刚遇到这个问题,这就是解决它的原因!

于 2019-03-06T07:01:10.690 回答