目前我让我的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');
});