如何清除在Node js中清除浏览器cookie的重新启动



我正在将"express": "~4.14.0"express-session一起保存用户名。登录用户后,我将将用户名保存在req.session.authorizedUser = username中以显示在应用程序标题中。

当清除浏览器历史记录或关闭浏览器时,我想清除会话。

请建议我如果在进行这两个操作中的任何一个时都可以清除会话。我尝试为会话cookie设置maxAge选项,如下所示,但这并不反映:

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

由于浏览器删除cookie时不会通知服务器(无论出于何种原因),因此,如果会话会话仍然有效与否。

这就是为什么大多数会话商店都有到期的机制,该机制将在特定时间之后删除空闲会话(通常与maxAge相关)。

例如,connect-mongo Session Store使用MongoDB的TTL功能从数据库中删除过期的会话。

除了占用一些存储空间外,闲置会议并不是问题。当用户再次登录时,将为他们创建一个新的会话,旧会话最终将过期并从存储中删除。

最新更新