Express JS – 重置cookie过期时间

我正在使用快速会话来pipe理会话。 我正在使用这个:

app.use(session({secret: 'secret', resave: false, saveUninitialized: false, cookie: { maxAge: 6*1000 } }) ); 

现在我想每次我的url被重置过期值为6。 所以我这样做:

 req.session.cookie.maxAge = 6000 

但最大年龄没有重置,并且会话在6秒钟内总是过期,即使URL被击中。 我怎么把这个改成每次6000?

我在这里先向您的帮助表示感谢

你必须使用中间件,我的代码很简单,但对我来说工作正常

 app.use(function(req,res,next){ req.session._garbage = Date(); req.session.touch(); next() }) 

我把这个代码放在app.js中,对我很好

这是我的会话代码:

 app.use(session({ cookie: { maxAge: 14400000 }, saveUninitialized: true, resave: true, secret: config.sessionSecret, store: new RedisStore({ port: 6379 }) })); 

请检查这个例子,它可能对你有帮助

像这样更新你的代码

 req.session._garbage = Date(); req.session.touch(); req.session.cookie.expires = 2592000000; // 30*24*60*60*1000 Rememeber 'me' for 30 days 

为了您的参考,请检查下面的例子

 app.use(session({ secret: 'iloveyoudear...', resave: true, saveUninitialized: true, cookie: {expires: 30*24*60*60*1000 } })); 

要么

 app.use(session({ secret: 'iloveyoudear...', resave: true, saveUninitialized: true, cookie: {maxAge: 30*24*60*60*1000 } })); 

以上两个例子不能正常工作,请在你的路由器中单独设置

 req.session.cookie.maxAge = 2592000000; // 30*24*60*60*1000 Rememeber 'me' for 30 days 

这一个也不行,请检查你的

express-session和cookie-parser npm版本并安装最新版本

所有例子为我工作,请看下面一个快照。

在这里输入图像说明