express-session: конфигурация истечения срока действия скользящего сеанса

Итак, я использую экспресс-сеанс с магазином монго, например:

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, и теперь он работает как положено.


person mindparse    schedule 01.04.2016    source источник