我如何强制删除会话ID cookie与快速会议?

我正在使用快速会话模块来设置到期年龄的会话。 在这个年龄之后,当页面被刷新时,cookie将被删除。 但是,比如当用户注销时,我想强制删除这个cookie。 我已经使用req.session.destroy.成功销毁了会话req.session.destroy.

我试过使用:

 res.clearCookie('SID').status(200).send('Page'); 

里面req.session.destroy,虽然,如果我在浏览器中查看cookie的详细信息,我看到内容设置为什么都没有,过期date设置为Thursday, 1 January 1970 at 01:00:00,虽然cookie不会删除自己。 我还设置了未unset: 'destroy'会话存储configuration中的unset: 'destroy' ,但这并没有解决我的问题。

中间件:

 app.use(session({ store: new MemoryStore({ checkPeriod: 86400000 }), cookie: { secure: true, maxAge: 10000 }, secret: secret, resave: false, saveUninitialized: false, name: 'SID', unset: 'destroy' })); 

提前致谢。

您需要强制设置req.session.cookie.expiresreq.session.cookie.maxAge的值。

以这段代码为例,

 var timeInMillseconds = 3600000; req.session.cookie.expires = new Date(Date.now() + timeInMillseconds); req.session.cookie.maxAge = timeInMillseconds; 

现在使用这个中间件

 app.use(session({ secret: 'mySecre', saveUninitialized: true })) app.get('/', function(req, res){ req.session.myUser = "myUser"; req.session.cookie.expires = new Date(Date.now() + 36000000); req.session.cookie.myDog = "myDog"; res.status(201).send(req.session); //you can also use 200 console.log(req.session); })