Я использую 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 обновляет время истечения сеанса.