auth) fixing tests
All checks were successful
PR Checks / lint-test-and-docker-build (pull_request) Successful in 2m20s
All checks were successful
PR Checks / lint-test-and-docker-build (pull_request) Successful in 2m20s
This commit is contained in:
@@ -22,6 +22,10 @@ const attemptsByIdentifier = new Map<string, AttemptState>();
|
||||
const attemptsByIp = new Map<string, AttemptState>();
|
||||
let dummyHashPromise: Promise<string> | null = null;
|
||||
|
||||
const getEnvValue = (key: keyof typeof env): string | undefined => {
|
||||
return process.env[key] ?? env[key];
|
||||
};
|
||||
|
||||
const getNumberEnv = (value: string | undefined, fallback: number): number => {
|
||||
const parsed = Number.parseInt(value ?? '', 10);
|
||||
return Number.isFinite(parsed) ? parsed : fallback;
|
||||
@@ -29,10 +33,10 @@ const getNumberEnv = (value: string | undefined, fallback: number): number => {
|
||||
|
||||
const getLocalAuthConfig = () => {
|
||||
return {
|
||||
enabled: env.LOCAL_AUTH_ENABLED === 'true',
|
||||
maxAttempts: getNumberEnv(env.LOCAL_AUTH_MAX_ATTEMPTS, 5),
|
||||
windowMs: getNumberEnv(env.LOCAL_AUTH_WINDOW_SECONDS, 900) * 1000,
|
||||
lockoutMs: getNumberEnv(env.LOCAL_AUTH_LOCKOUT_SECONDS, 900) * 1000
|
||||
enabled: getEnvValue('LOCAL_AUTH_ENABLED') === 'true',
|
||||
maxAttempts: getNumberEnv(getEnvValue('LOCAL_AUTH_MAX_ATTEMPTS'), 5),
|
||||
windowMs: getNumberEnv(getEnvValue('LOCAL_AUTH_WINDOW_SECONDS'), 900) * 1000,
|
||||
lockoutMs: getNumberEnv(getEnvValue('LOCAL_AUTH_LOCKOUT_SECONDS'), 900) * 1000
|
||||
};
|
||||
};
|
||||
|
||||
@@ -111,7 +115,11 @@ export async function verifyLocalCredentials(
|
||||
const ipKey = normalizeIp(ipAddress);
|
||||
const now = Date.now();
|
||||
|
||||
const identifierState = getEffectiveState(attemptsByIdentifier.get(identifierKey), now, config.windowMs);
|
||||
const identifierState = getEffectiveState(
|
||||
attemptsByIdentifier.get(identifierKey),
|
||||
now,
|
||||
config.windowMs
|
||||
);
|
||||
const ipState = getEffectiveState(attemptsByIp.get(ipKey), now, config.windowMs);
|
||||
const locked = isLocked(identifierState, now) || isLocked(ipState, now);
|
||||
|
||||
|
||||
@@ -8,10 +8,13 @@ const resolveErrorMessage = (value: string | null): string | null => {
|
||||
};
|
||||
|
||||
export const load: PageServerLoad = async ({ url }) => {
|
||||
const authUrl = process.env.AUTH_URL ?? env.AUTH_URL ?? '';
|
||||
const localAuthEnabled = (process.env.LOCAL_AUTH_ENABLED ?? env.LOCAL_AUTH_ENABLED) === 'true';
|
||||
|
||||
return {
|
||||
signinUrl: `${env.AUTH_URL}/signin/synology`,
|
||||
localSigninUrl: `${env.AUTH_URL}/signin/local`,
|
||||
localAuthEnabled: env.LOCAL_AUTH_ENABLED === 'true',
|
||||
signinUrl: `${authUrl}/signin/synology`,
|
||||
localSigninUrl: `${authUrl}/signin/local`,
|
||||
localAuthEnabled,
|
||||
error: resolveErrorMessage(url.searchParams.get('error'))
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user