【问题标题】:How to destroy session stored in MongoDB (NodeJS)如何销毁存储在 MongoDB (NodeJS) 中的会话
【发布时间】:2020-08-26 05:39:51
【问题描述】:

目前,我让我的 ReactJS 客户端向我的 NodeJS 服务器上的 /logout 端点发出请求,以销毁会话。它看起来像这样:

router.get("/logout", (req, res) => {
    // for express-session
    req.session.destroy();
    res.clearCookie('connect.sid');

    res.status(200).send('User has been logged out');
});

我使用connect-mongodb-session 来存储会话。

但是,会话既没有被破坏(它在 MongoDB 中仍然可见),而且 cookie connect.sid 在客户端仍然保持不变。


我当然也可以手动从数据库中删除会话,但是,我相信这不是传统的方法。

【问题讨论】:

    标签: node.js session passport.js


    【解决方案1】:

    你试过了吗?

      router.get("/logout", (req, res) => {
             if(req.session) {
            req.session.cookie.maxAge = 0
            delete req.session
          }
            res.status(200).send('User has been logged out');
        });
    

    【讨论】:

      猜你喜欢
      • 2013-12-20
      • 2012-09-23
      • 1970-01-01
      • 2014-01-19
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      相关资源
      最近更新 更多