如何清除req.session清除节点js中的浏览器cookie?

我使用"express": "~4.14.0"express-session保存用户名。 一旦用户login,我将把用户名保存在req.session.authorizedUser = username以将其显示在应用程序标题中。

当浏览器历史被清除或浏览器closures时,我想清除会话。

如果在进行这两个操作时有任何方法清除会话,请告诉我。 我曾尝试设置会话cookie的maxAge选项,如下所示,但它并不能反映出好的结果:

 app.use(session({ secret: "key test", resave: false, saveUninitialized: true, cookie: { secure: !true, path: '/', httpOnly: true, maxAge: null} })); 

由于浏览器在删除cookies(不pipe出于什么原因)的情况下不会通知服务器,因此无法单纯地在服务器端告知会话是否仍然有效。

这就是为什么大多数会话商店都有一个到期机制,可以在特定的时间段(通常与maxAge )后删除空闲会话。

例如, connect-mongo会话存储使用MongoDB的TTLfunction从数据库中删除过期的会话。

尽pipe占用一点存储空间,闲置会话也不是问题。 当用户再次login时,会为他们创build一个新的会话,旧的会话最终会过期并从存储中删除。