Add logout callback URL and session expiration environment variables (#2023)

Co-authored-by: @Meierschlumpf
This commit is contained in:
SeDemal
2024-05-07 00:06:07 +02:00
committed by GitHub
parent 18cd1f961f
commit 452304b471
7 changed files with 107 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ const numberSchema = z
.string()
.regex(/\d*/)
.transform((value) => (value === undefined ? undefined : Number(value)))
.optional()
.optional();
const portSchema = z
.string()
@@ -49,6 +49,12 @@ const env = createEnv({
DEMO_MODE: z.string().optional(),
HOSTNAME: z.string().optional(),
//regex allows number with extra letter as time multiplier, applied with secondsFromTimeString
AUTH_SESSION_EXPIRY_TIME: z
.string()
.regex(/^\d+[smhd]?$/)
.optional(),
// Authentication
AUTH_PROVIDER: z
.string()
@@ -96,7 +102,7 @@ const env = createEnv({
AUTH_OIDC_OWNER_GROUP: z.string().default('admin'),
AUTH_OIDC_AUTO_LOGIN: zodParsedBoolean(),
AUTH_OIDC_SCOPE_OVERWRITE: z.string().default('openid email profile groups'),
AUTH_OIDC_TIMEOUT: numberSchema.default(3500)
AUTH_OIDC_TIMEOUT: numberSchema.default('3500'),
}
: {}),
},
@@ -118,6 +124,7 @@ const env = createEnv({
.optional()
.default('light'),
NEXT_PUBLIC_DOCKER_HOST: z.string().optional(),
AUTH_LOGOUT_REDIRECT_URL: z.string().optional(),
},
/**
* You can't destruct `process.env` as a regular object in the Next.js edge runtimes (e.g.
@@ -157,6 +164,8 @@ const env = createEnv({
AUTH_OIDC_AUTO_LOGIN: process.env.AUTH_OIDC_AUTO_LOGIN,
AUTH_OIDC_SCOPE_OVERWRITE: process.env.AUTH_OIDC_SCOPE_OVERWRITE,
AUTH_OIDC_TIMEOUT: process.env.AUTH_OIDC_TIMEOUT,
AUTH_LOGOUT_REDIRECT_URL: process.env.AUTH_LOGOUT_REDIRECT_URL,
AUTH_SESSION_EXPIRY_TIME: process.env.AUTH_SESSION_EXPIRY_TIME,
DEMO_MODE: process.env.DEMO_MODE,
},
skipValidation: !!process.env.SKIP_ENV_VALIDATION,