Skip to content

Commit 00124da

Browse files
feat: add too_many_attempts error to passwordless (#2700)
### Changes <!-- Please describe both what is changing and why this is important. Include: - Classes and methods added, deleted, deprecated, or changed - Screenshots of new or changed UI, if applicable - A summary of usage if this is a new feature or change to a public API (this should also be added to relevant documentation once released) --> Add Brute-Force Protection `too_many_attempts` error to passwordless error mappings to support adding Brute-Force Protection to `passwordless/start` endpoint ### References <!-- Please include relevant links supporting this change such as a: - support ticket - community post - StackOverflow post - support forum thread Please note any links that are not publicly accessible. --> https://auth0team.atlassian.net/browse/EUP-23 ### Testing <!-- Please describe how this can be tested by reviewers. Be specific about anything not tested and reasons why. If this library has unit and/or integration testing, tests should be added for new functionality and existing tests should complete without errors. --> This was tested alongside changes to enforce Brute-Force Protection on the `passwordless/start` endpoint behind a feature flag. The error is not currently emitted in this location. 1. block user 2. attempt passwordless login 3. user will be blocked from continuing login since no Brute-Force Protection attempts remain <img width="305" height="516" alt="Screenshot 2025-12-08 at 9 56 36 AM" src="https://github.com/user-attachments/assets/6ae558e4-4cf4-4a2f-92ce-5aa4c44fae5f" /> <img width="618" height="142" alt="Screenshot 2025-12-08 at 11 27 59 AM" src="https://github.com/user-attachments/assets/0575046f-e74d-4148-9f51-016c03684c6b" /> The current behavior without this change just shows generic error when Brute-Force Protection is enforced and the feature flag is enabled: <img width="302" height="495" alt="Screenshot 2025-12-08 at 11 54 12 AM" src="https://github.com/user-attachments/assets/19f0ba74-8a5e-41b4-98a5-4ac8db6ad013" /> * [ ] This change adds unit test coverage * [ ] This change adds integration test coverage * [x] This change has been tested on the latest version of the platform/language ### Checklist * [x] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) * [x] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) * [x] All code quality tools/guidelines have been run/followed * [x] All relevant assets have been compiled
1 parent 99d241a commit 00124da

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+88
-44
lines changed

src/i18n/af.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ export default {
3939
'bad.phone_number': 'Die telefoonnommer is ongeldig',
4040
'lock.fallback': 'Jammer, iets het verkeerd gegaan',
4141
invalid_captcha: "Los die uitdagingsvraag om te verifieer dat u nie 'n robot is nie.",
42-
invalid_recaptcha: "Kies die merkblokkie om te verifieer dat u nie 'n robot is nie."
42+
invalid_recaptcha: "Kies die merkblokkie om te verifieer dat u nie 'n robot is nie.",
43+
too_many_attempts: 'Jou rekening is geblok nadat daar te veel keer probeer inteken is.'
4344
},
4445
signUp: {
4546
invalid_password: 'Wagwoord is ongeldig.',

src/i18n/ar.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ export default {
4343
'bad.phone_number': 'رقم الهاتف غير صالح.',
4444
'lock.fallback': 'المعذرة، حصل خطأ ما.',
4545
invalid_captcha: 'حل سؤال التحدي للتحقق من أنك لست روبوت.',
46-
invalid_recaptcha: 'حدد مربع الاختيار للتحقق من أنك لست روبوتًا.'
46+
invalid_recaptcha: 'حدد مربع الاختيار للتحقق من أنك لست روبوتًا.',
47+
too_many_attempts: 'تم حظر حسابك بعد عدة محاولات متتالية للدخول.'
4748
},
4849
signUp: {
4950
invalid_password: 'كلمة المرور غير صالحة.',

src/i18n/az.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ export default {
4444
'bad.phone_number': 'Telefon nömrəsi düzgün deyil',
4545
'lock.fallback': 'Üzr istəyirik, səhv oldu',
4646
invalid_captcha: 'Daxil etdiyiniz mətn səhv idi. <br /> Lütfən, yenidən cəhd edin.',
47-
invalid_recaptcha: 'Robot olmadığınızı təsdiqləmək üçün onay qutusunu seçin.'
47+
invalid_recaptcha: 'Robot olmadığınızı təsdiqləmək üçün onay qutusunu seçin.',
48+
too_many_attempts: 'Çox sayda giriş cəhdi nəticəsində hesabınız bloklandı.'
4849
},
4950
signUp: {
5051
invalid_password: 'Şifrə yanlışdır.',

src/i18n/bg.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ export default {
4545
'bad.phone_number': 'Телефонният номер е невалиден',
4646
'lock.fallback': 'Съжаляваме, възникна грешка',
4747
invalid_captcha: 'Решете задачата, за да се уверим, че не сте робот.',
48-
invalid_recaptcha: 'Поставете отметка, за да се уверим, че не сте робот.'
48+
invalid_recaptcha: 'Поставете отметка, за да се уверим, че не сте робот.',
49+
too_many_attempts: 'Вашият акаунт е блокиран след множество последователни опити да влезете в профила си.'
4950
},
5051
signUp: {
5152
invalid_password: 'Паролата е невалидна.',

src/i18n/ca.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ export default {
4646
'bad.phone_number': 'El número de telèfon no és vàlid',
4747
'lock.fallback': 'Quelcom ha fet fallida',
4848
invalid_captcha: 'Resoleu la pregunta de desafiament per verificar que no sou un robot.',
49-
invalid_recaptcha: 'Seleccioneu la casella de verificació per verificar que no sou un robot.'
49+
invalid_recaptcha: 'Seleccioneu la casella de verificació per verificar que no sou un robot.',
50+
too_many_attempts: "Hi ha hagut massa intents consecutius fallits d'inici de sessió, i se us ha bloquejat l'accés."
5051
},
5152
signUp: {
5253
invalid_password: 'La contrasenya no és vàlida.',

src/i18n/cs.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ export default {
4444
'bad.phone_number': 'Telefonní číslo je neplatné',
4545
'lock.fallback': 'Je nám líto, něco se pokazilo',
4646
invalid_captcha: 'Vyřešte úlohu, abychom ověřili, že nejste robot.',
47-
invalid_recaptcha: 'Zaškrtněte políčko, abychom ověřili, že nejste robot.'
47+
invalid_recaptcha: 'Zaškrtněte políčko, abychom ověřili, že nejste robot.',
48+
too_many_attempts: 'Váš účet byl zablokován z důvodu velkého počtu pokusů o přihlášení.'
4849
},
4950
signUp: {
5051
invalid_password: 'Heslo je neplatné.',

src/i18n/da.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ export default {
4444
'bad.phone_number': 'Dette telefonnummer er ugyldigt',
4545
'lock.fallback': 'Vi beklager, men der skete en fejl',
4646
invalid_captcha: 'Løs udfordringsspørgsmålet for at kontrollere, at du ikke er en robot.',
47-
invalid_recaptcha: 'Marker afkrydsningsfeltet for at kontrollere, at du ikke er en robot.'
47+
invalid_recaptcha: 'Marker afkrydsningsfeltet for at kontrollere, at du ikke er en robot.',
48+
too_many_attempts: 'Din konto er blevet blokeret efter gentagne mislykkede loginforsøg.'
4849
},
4950
signUp: {
5051
invalid_password: 'Adgangskoden er ugyldigt',

src/i18n/de.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ export default {
4848
'bad.phone_number': 'Diese Telefonnummer ist ungültig',
4949
'lock.fallback': 'Es tut uns leid, etwas ist schiefgelaufen.',
5050
invalid_captcha: 'Lösen Sie die Herausforderungsfrage, um sicherzustellen, dass Sie kein Roboter sind.',
51-
invalid_recaptcha: 'Aktivieren Sie das Kontrollkästchen, um sicherzustellen, dass Sie kein Roboter sind.'
51+
invalid_recaptcha: 'Aktivieren Sie das Kontrollkästchen, um sicherzustellen, dass Sie kein Roboter sind.',
52+
too_many_attempts: 'Ihr Konto wurde nach mehreren aufeinander folgenden Anmeldeversuche gesperrt.'
5253
},
5354
signUp: {
5455
invalid_password: 'Passwort ist ungültig.',

src/i18n/el.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ export default {
4646
'bad.phone_number': 'Ο αριθμός τηλεφώνου δεν είναι έγκυρος',
4747
'lock.fallback': 'Λυπούμαστε, κάτι πήγε στραβά',
4848
invalid_captcha: 'Λύστε την ερώτηση πρόκλησης για να επιβεβαιώσετε ότι δεν είστε ρομπότ.',
49-
invalid_recaptcha: 'Επιλέξτε το πλαίσιο ελέγχου για να επαληθεύσετε ότι δεν είστε ρομπότ.'
49+
invalid_recaptcha: 'Επιλέξτε το πλαίσιο ελέγχου για να επαληθεύσετε ότι δεν είστε ρομπότ.',
50+
too_many_attempts: 'Ο λογαριασμός σας έχει απενεργοποιηθεί λόγω υπέρβασης του ορίου επιτρεπόμενων προσπαθειών σύνδεσης.'
5051
},
5152
signUp: {
5253
invalid_password: 'Ο κωδικός δεν είναι έγκυρος.',

src/i18n/en.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ export default {
4040
'bad.phone_number': 'The phone number is invalid',
4141
'lock.fallback': "We're sorry, something went wrong",
4242
invalid_captcha: 'Solve the challenge question to verify you are not a robot.',
43-
invalid_recaptcha: 'Select the checkbox to verify you are not a robot.'
43+
invalid_recaptcha: 'Select the checkbox to verify you are not a robot.',
44+
too_many_attempts: 'Your account has been blocked after multiple consecutive login attempts.'
4445
},
4546
signUp: {
4647
invalid_password: 'Password is invalid.',

0 commit comments

Comments
 (0)