Fix session expiration handling

This commit is contained in:
2026-04-23 01:10:15 -05:00
parent da4b06094e
commit 820e335d9a
22 changed files with 308 additions and 51 deletions
+20 -1
View File
@@ -11,6 +11,24 @@ const requireEnv = (name) => {
return value;
};
const parseDurationMs = (value, fallbackMs) => {
if (!value) return fallbackMs;
const match = String(value).trim().match(/^(\d+)(ms|s|m|h|d)?$/i);
if (!match) return fallbackMs;
const amount = Number(match[1]);
const unit = (match[2] || 'ms').toLowerCase();
const multipliers = {
ms: 1,
s: 1000,
m: 60 * 1000,
h: 60 * 60 * 1000,
d: 24 * 60 * 60 * 1000,
};
return amount * multipliers[unit];
};
if (process.env.NODE_ENV === 'production') {
[
'JWT_SECRET',
@@ -53,7 +71,8 @@ const env = {
jwt: {
secret: process.env.JWT_SECRET || 'change_me',
accessExpires: process.env.JWT_ACCESS_EXPIRES || '15m',
refreshExpires: process.env.JWT_REFRESH_EXPIRES || '7d',
refreshExpires: process.env.JWT_REFRESH_EXPIRES || '15m',
refreshExpiresMs: parseDurationMs(process.env.JWT_REFRESH_EXPIRES || '15m', 15 * 60 * 1000),
},
storagePath: process.env.STORAGE_PATH || '/tmp/linkedsign_storage',