Итак, я использую экспресс-сеанс с магазином монго, например:
app.use(session({
secret: 'some secret here',
saveUninitialized: false,
resave: false,
store: new MongoStore({
url: 'http://someurlhere'
})
}));
У меня есть промежуточное программное обеспечение для входа в систему, которое после успешного входа в систему я хочу затем установить время истечения срока действия файла cookie сеанса.
Поэтому я сейчас тестирую с 10-секундным сроком действия, используя
req.session.cookie.expires = new Date(Date.now() + 10000);
Я хочу, чтобы срок действия сеанса сбрасывался для каждого последующего запроса. В настоящее время по истечении 10 секунд, независимо от того, сколько запросов я сделал после входа в систему, срок действия сеанса истекает.
Я чувствую, что я что-то неправильно понял здесь!
ИЗМЕНИТЬ
Итак, я пропустил параметр конфигурации rolling
в документах, но даже когда я установил для него значение true в параметрах конфигурации сеанса, происходит то же самое:
app.use(session({
secret: 'some secret here',
saveUninitialized: false,
resave: false,
store: new MongoStore({
url: 'http://someurlhere'
}),
rolling: true,
cookie: {
maxAge: 10000
}
}));
Теперь я записываю в консоль значение maxAge файла cookie по моим маршрутам и вижу, как оно уменьшается по мере того, как каждый последующий запрос выполняется после входа в систему, он никогда не сбрасывается до 10000.
Что я делаю не так?
РЕШЕНО
Итак, я наткнулся на комментарий к этой проблеме.
Я изменил resave
на true, и теперь он работает как положено.