【问题标题】:Express.js, Passport.js, cookie-session, logout doesn't delete cookiesExpress.js、Passport.js、cookie-session、注销不会删除 cookie
【发布时间】:2019-01-18 21:00:29
【问题描述】:

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

我哪里错了?

【问题讨论】:

    标签: node.js express authentication passport.js cookie-session


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-03-24
      • 2019-03-16
      • 2012-10-01
      • 2012-10-16
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      相关资源
      最近更新 更多