Оставайтесь с подпиской в режиме cookie-сессии в экспресс
Я хотел бы иметь опцию "Оставаться в системе", такую как Gmail.
Таким образом, пользователь может решить, если они хотят, чтобы сеанс был открыт после открытия нового сеанса браузера после его закрытия.
Изучая проблемы github, которые я видел компонент cookie-session не предоставляет способ обновить свойство maxAge
dynamilly.
Мне интересно тогда, если вообще есть способ достичь функции "Оставаться в системе" с компонентом cookie-session
.
Мне кажется, что базовая функция для компонента, который загружается 80K раз в месяц.
Ответы
Ответ 1
// This allows you to set req.session.maxAge to let certain sessions
// have a different value than the default.
app.use(function (req, res, next) {
// here you can see whether they checked the checkbox or not, and change maxAge.
// the default should be that it expires when the browser is closed
req.sessionOptions.maxAge = req.session.maxAge || req.sessionOptions.maxAge
// or you can try to set expires to 1 day from now:
req.sessionOptions.expires = new Date(Date.now()+86400000)
// or at the end of the session:
req.sessionOptions.expires = 0
})
Ответ 2
Если вы используете ExpressJS, у модуля сеанса есть опция.
https://github.com/expressjs/session
В качестве альтернативы req.session.cookie.maxAge вернет оставшееся время в миллисекундах, которые мы также можем переназначить новое значение для .expires соответствующим образом. Ниже, в основном, эквивалентно