express -сессия, как отключить продление времени жизни сессии для каждого запроса - PullRequest
0 голосов
/ 25 марта 2020

Я использую express сеанс и хотел бы, чтобы время истечения сеанса не увеличивалось с каждым клиентским запросом. Моя демо express настройка приложения:

const express = require('express');
const session = require('express-session')

const router = express.Router();
const app = express();

app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  rolling: false,
  cookie: { maxAge: 100000, secure: false },
  name: 'express-test',
}));

router.get('/', function(req, res, next) {
  const expirationTime = req.session.cookie.expires.toISOString();
  res.json( `${req.session.id} -  ${expirationTime}`);
});

app.use(router);

module.exports = app;

Когда я открываю http://localhost: 3000 / в своем браузере, я вижу ответ с sessionId и временем истечения ("WqIesolw8r6PHT_QpHR4jc4R1c9noSf7 - 2020- 03-25T14: 01: 20.984Z "), идентификатор сеанса тот же, но время истечения увеличивается при каждом запросе. Это похоже на поведение сеанса прокрутки, но для него задано значение false.

Я использую следующие версии:

"express": "~4.16.1",
"express-session": "^1.17.0", 

Я не понимаю, почему при наличии resave: false и rolling: false express обновляет время истечения сеанса.

...