diff --git a/src/lib/server/config.ts b/src/lib/server/config.ts index 5b5c0e5..0cf11f9 100644 --- a/src/lib/server/config.ts +++ b/src/lib/server/config.ts @@ -37,6 +37,8 @@ class Config { readonly is_debug: boolean = process.env.NODE_ENV != "production" readonly is_production: boolean = process.env.NODE_ENV == "production" + private _session_timeout: number = 15 * 60 * 1000 + get log_dir(): string { return this._log_dir } @@ -44,6 +46,8 @@ class Config { return this._log_to_file_when_debug } + get session_timeout(): number { return this._session_timeout } + constructor() { this._log_dir = resolve_env_to_path(process.env.APP_LOG_DIR, "./data/logs") this._log_to_file_when_debug = resolve_env_to_boolean(process.env.LOG_TO_FILE_WHEN_DEBUG, false) diff --git a/src/lib/server/usermgmt.ts b/src/lib/server/usermgmt.ts index 40eb37b..44a832e 100644 --- a/src/lib/server/usermgmt.ts +++ b/src/lib/server/usermgmt.ts @@ -4,11 +4,10 @@ import { Prisma } from "@prisma/client" import { ArgumentError, DuplicateError } from "$lib/errors" +import Config from "$lib/server/config" import Log from "$lib/server/log" import db from "$lib/server/database" -const SESSION_LIFETIME = 15 * 60 * 1000 - export type User = Prisma.UserGetPayload export interface SessionData { @@ -120,7 +119,7 @@ class UserMgmt { } const token = Crypto.randomBytes(32).toBase64() - const session_info = this._cache.add(user, token, new Date(), new Date(Date.now() + SESSION_LIFETIME)) + const session_info = this._cache.add(user, token, new Date(), new Date(Date.now() + Config.session_timeout)) return session_info }