如何销毁存储在MongoDB(NodeJS)中的会话



目前我让我的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来存储会话。

然而,会话get都没有被销毁(它在MongoDB中仍然可见(,cookieconnect.sid也在客户端保持持久性。


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

你试过这个吗?

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');
});

最新更新