feat(auth): make password length configurable via env (min 5–30, max 30–128)
CI / check (push) Successful in 29s
CI / tests-imaging-browsers (push) Successful in 1m46s
CI / tests-integration (push) Successful in 1m47s
CI / tests-unit (push) Successful in 1m49s
CI / tests-quality (push) Successful in 44s
CI / tests-ui (push) Successful in 4m38s
CI / preflight (push) Skipped
CI / deploy (push) Successful in 3m38s

Add PASSWORD_MIN_LENGTH / PASSWORD_MAX_LENGTH (validated in src/env.ts) and a
shared passwordPolicy helper. The policy drives the zod schemas in register,
password reset and the admin create-user dialog, plus the live requirement
checks and strength meter in the register form.

Locale messages now interpolate the configured minimum via {min} instead of
hard-coding 12.
This commit is contained in:
openhands committed 2026-10-18 19:20:38 +02:00
1 parent aef0939ee9
commit 9cf1eb615c
36 files changed
+227 -143

No files matched your search

+5 -5
View File
@@ -885,7 +885,7 @@
"confirmPassword": "Zopakujte heslo",
"usernamePlaceholder": "Používateľské meno",
"emailPlaceholder": "Email",
"passwordPlaceholder": "Heslo (min. 12 znakov)",
"passwordPlaceholder": "Heslo (min. {min} znakov)",
"confirmPasswordPlaceholder": "Zopakujte heslo",
"selectOutfit": "Vyberte si oblečenie",
"termsAccept": "Mám 18+ a súhlasím so zmluvnými podmienkami a pravidlami {hotel}.",
@@ -897,7 +897,7 @@
"termsError": "Ak sa chcete zaregistrovať, musíte prijať podmienky a pravidlá.",
"usernameError": "Vyžaduje sa používateľské meno.",
"emailError": "Vyžaduje sa platný e-mail.",
"passwordError": "Heslo musí mať aspoň 12 znakov",
"passwordError": "Heslo musí mať aspoň {min} znakov",
"confirmPasswordError": "Heslá sa nezhodujú.",
"termsRequired": "Musíte prijať podmienky a pravidlá.",
"usernameRequired": "Vyžaduje sa používateľské meno.",
@@ -920,7 +920,7 @@
"strengthFair": "Priemerné",
"strengthGood": "Dobré",
"strengthStrong": "Silné",
"passwordMinLength": "Heslo musí mať aspoň 12 znakov",
"passwordMinLength": "Heslo musí mať aspoň {min} znakov",
"passwordUpper": "Heslo musí obsahovať aspoň jedno veľké písmeno",
"passwordLower": "Heslo musí obsahovať aspoň jedno malé písmeno",
"passwordDigit": "Heslo musí obsahovať aspoň jednu číslicu",
@@ -955,10 +955,10 @@
"reset": {
"title": "Nastavte si nové heslo",
"subtitle": "Zvoľte si silné heslo, ktoré inde nepoužívate.",
"passwordPlaceholder": "Nové heslo (min. 12 znakov)",
"passwordPlaceholder": "Nové heslo (min. {min} znakov)",
"resetPassword": "Obnoviť heslo",
"backToLogin": "Späť na prihlásenie",
"passwordMinLength": "Heslo musí mať aspoň 12 znakov",
"passwordMinLength": "Heslo musí mať aspoň {min} znakov",
"tooManyAttempts": "Príliš veľa pokusov — skúste to neskôr",
"invalidLink": "Tento odkaz na obnovenie je neplatný alebo vypršal. Vyžiadajte si nový.",
"failed": "Heslo nebolo možné obnoviť. Skúste to znova."