check if session is expired

This commit is contained in:
counterweight 2025-02-10 12:43:46 +01:00
parent e528f1351a
commit 7c2514a9a6
Signed by: counterweight
GPG key ID: 883EDBAA726BD96C
4 changed files with 51 additions and 19 deletions

View file

@ -1,14 +0,0 @@
const uuid = require("uuid");
const sessionService = require('../services/sessionService');
async function cookieMiddleware(req, res, next) {
if (!req.cookies.sessionUuid) {
const sessionUuid = uuid.v7();
res.cookie('sessionUuid', sessionUuid, { httpOnly: true, maxAge: 86400000 });
await sessionService.createSession(sessionUuid);
}
next();
}
module.exports = cookieMiddleware;

View file

@ -0,0 +1,27 @@
const uuid = require("uuid");
const sessionService = require('../services/sessionService');
const constants = require('../constants');
async function setAndPersistNewSession(res) {
const sessionUuid = uuid.v7();
res.cookie('sessionUuid', sessionUuid, { httpOnly: true, maxAge: constants.DEFAULT_SESSION_DURATION_SECONDS * 1000 });
await sessionService.createSession(sessionUuid);
}
async function createSessionMiddleware(req, res, next) {
if (!req.cookies.sessionUuid) {
await setAndPersistNewSession(res);
}
if (req.cookies.sessionUuid) {
if (await sessionService.isSessionExpired(req.cookies.sessionUuid)) {
await setAndPersistNewSession(res);
}
}
next();
}
module.exports = createSessionMiddleware;