diff --git a/frontend/public/locales/en/translations.json b/frontend/public/locales/en/translations.json
index 84554d8fc..8bac30094 100644
--- a/frontend/public/locales/en/translations.json
+++ b/frontend/public/locales/en/translations.json
@@ -234,9 +234,12 @@
"validate-base": "Password should contain:",
"validate-too-short": "at least 14 characters",
"validate-too-long": "at most 100 characters",
+ "validate-uppercase": "at least 1 uppercase character",
+ "validate-lowercase": "at least 1 lowercase character",
"validate-number": "at least 1 number",
- "validate-case": "at least 1 lowercase character",
- "validate-breached": "The password you provided is in a list of passwords commonly used on other websites. Please try again with a stronger password."
+ "validate-special-char": "at least 1 special character",
+ "validate-repeated-char": "at most 2 repeated consecutive characters",
+ "validate-is-breached": "The password you provided is in a list of passwords commonly used on other websites. Please try again with a stronger password."
},
"token": {
"service-tokens": "Service Tokens",
diff --git a/frontend/public/locales/es/translations.json b/frontend/public/locales/es/translations.json
index ffb0a5dd4..7f3bbf84f 100644
--- a/frontend/public/locales/es/translations.json
+++ b/frontend/public/locales/es/translations.json
@@ -229,11 +229,14 @@
"current-wrong": "La contraseña actual puede puede que sea incorrecta",
"new": "Nueva contraseña",
"validate-base": "La contraseña debe contener:",
- "validate-too-short": "como mínimo 14 caracteres",
+ "validate-too-short": "al menos 14 caracteres",
"validate-too-long": "como máximo 100 caracteres",
- "validate-number": "como mínimo 1 número",
- "validate-case": "como mínimo 1 letra en minúsculas",
- "validate-breached": "La contraseña que proporcionó se encuentra en una lista de contraseñas comúnmente utilizadas en otros sitios web. Inténtelo de nuevo con una contraseña más segura."
+ "validate-uppercase": "al menos 1 carácter en mayúscula",
+ "validate-lowercase": "al menos 1 carácter en minúsculas",
+ "validate-number": "al menos 1 número",
+ "validate-special-char": "al menos 1 carácter especial",
+ "validate-repeated-char": "au plus 2 caracteres consecutivos repetidos",
+ "validate-breached": "La contraseña que proporcionó se encuentra en una lista de contraseñas comúnmente utilizadas en otros sitios web. Vuelva a intentarlo con una contraseña más segura."
},
"token": {
"service-tokens": "Tokens de servicio",
diff --git a/frontend/public/locales/fr/translations.json b/frontend/public/locales/fr/translations.json
index 7ce136191..25e2de3c0 100644
--- a/frontend/public/locales/fr/translations.json
+++ b/frontend/public/locales/fr/translations.json
@@ -218,9 +218,12 @@
"validate-base": "Le mot de passe doit contenir:",
"validate-too-short": "au moins 14 caractères",
"validate-too-long": "au maximum 100 caractères",
+ "validate-uppercase": "au moins 1 caractère miniscule",
+ "validate-lowercase": "au moins 1 caractère majuscule",
"validate-number": "au moins 1 chiffre",
- "validate-case": "au moins 1 caractère miniscule",
- "validate-breached": "Le mot de passe que vous avez fourni figure dans une liste de mots de passe couramment utilisés sur d'autres sites Web. Veuillez réessayer avec un mot de passe plus fort."
+ "validate-special-char": "au moins 1 caractère spécial",
+ "validate-repeated-char": "au plus 2 caractères consécutifs répétés",
+ "validate-is-breached": "Le mot de passe que vous avez fourni figure dans une liste de mots de passe couramment utilisés sur d'autres sites Web. Veuillez réessayer avec un mot de passe plus fort."
},
"token": {
"service-tokens": "Jetons de service",
diff --git a/frontend/public/locales/ko/translations.json b/frontend/public/locales/ko/translations.json
index bd86c9fdc..c6bec94f4 100644
--- a/frontend/public/locales/ko/translations.json
+++ b/frontend/public/locales/ko/translations.json
@@ -183,10 +183,13 @@
"new": "새 비밀번호",
"current-wrong": "현재 비밀번호가 잘못되었어요",
"validate-base": "비밀번호는 다음 조건을 만족해야 합니다:",
- "validate-too-short": "14 글자 이상",
- "validate-too-long": "100 자 이하",
- "validate-number": "1개 이상의 숫자",
- "validate-case": "1개 이상의 소문자",
+ "validate-too-short": "최소 14자",
+ "validate-too-long": "최대 100자",
+ "validate-uppercase": "최소 1개의 대문자",
+ "validate-lowercase": "최소 1개의 소문자",
+ "validate-number": "숫자 1개 이상",
+ "validate-special-char": "특수 문자 1개 이상",
+ "validate-repeated-char": "최대 2개의 반복되는 연속 문자",
"validate-breached": "귀하가 제공한 비밀번호는 다른 웹사이트에서 일반적으로 사용되는 비밀번호 목록에 포함되어 있습니다. 더 강력한 비밀번호로 다시 시도해 주세요."
},
"token": {
diff --git a/frontend/public/locales/pt-BR/translations.json b/frontend/public/locales/pt-BR/translations.json
index 9412facdb..d6958f5a8 100644
--- a/frontend/public/locales/pt-BR/translations.json
+++ b/frontend/public/locales/pt-BR/translations.json
@@ -213,8 +213,11 @@
"validate-base": "A senha deve conter:",
"validate-too-short": "pelo menos 14 caracteres",
"validate-too-long": "no máximo 100 caracteres",
+ "validate-uppercase": "pelo menos 1 caractere maiúsculo",
+ "validate-lowercase": "pelo menos 1 caractere minúsculo",
"validate-number": "pelo menos 1 número",
- "validate-case": "pelo menos 1 caractere minúsculo",
+ "validate-special-char": "pelo menos 1 caractere especial",
+ "validate-repeated-char": "au plus 2 caractères consécutifs répétés",
"validate-breached": "A senha que você forneceu está em uma lista de senhas comumente usadas em outros sites. Tente novamente com uma senha mais forte."
},
"token": {
diff --git a/frontend/public/locales/tr/translations.json b/frontend/public/locales/tr/translations.json
index 53d1bfddc..cf441d0ae 100644
--- a/frontend/public/locales/tr/translations.json
+++ b/frontend/public/locales/tr/translations.json
@@ -231,8 +231,11 @@
"validate-base": "Şifre kısıtlamaları:",
"validate-too-short": "en az 14 karakter",
"validate-too-long": "en fazla 100 karakter",
- "validate-number": "en az 1 rakam",
- "validate-case": "en az 1 küçük harf",
+ "validate-uppercase": "en az 1 büyük harf karakter",
+ "validate-lowercase": "en az 1 küçük harf karakter",
+ "validate-number": "en az 1 sayı",
+ "validate-special-char": "en az 1 özel karakter",
+ "validate-repeated-char": "veya artı 2 karakter ardışık tekrar",
"validate-breached": "Sağladığınız şifre, diğer web sitelerinde yaygın olarak kullanılan şifreler listesinde yer almaktadır. Lütfen daha güçlü bir şifre ile tekrar deneyiniz."
},
"token": {
diff --git a/frontend/src/components/signup/UserInfoStep.tsx b/frontend/src/components/signup/UserInfoStep.tsx
index 581298c42..45ae09d0d 100644
--- a/frontend/src/components/signup/UserInfoStep.tsx
+++ b/frontend/src/components/signup/UserInfoStep.tsx
@@ -39,14 +39,15 @@ interface UserInfoStepProps {
}
type Errors = {
- tooShort?: string,
- tooLong?: string,
- upperCase?: string,
- lowerCase?: string,
- number?: string,
- specialChar?: string,
- repeatedChar?: string,
- breachedPassword?: string
+ tooShort?: string;
+ tooLong?: string;
+ upperCase?: string;
+ lowerCase?: string;
+ number?: string;
+ specialChar?: string;
+ repeatedChar?: string;
+ isBeachedPassword?: string;
+ isCommonPassword?: string;
};
/**
@@ -73,7 +74,7 @@ export default function UserInfoStep({
setOrganizationName,
attributionSource,
setAttributionSource,
- providerAuthToken,
+ providerAuthToken
}: UserInfoStepProps): JSX.Element {
const { data: commonPasswords } = useGetCommonPasswords();
const [nameError, setNameError] = useState(false);
@@ -101,7 +102,7 @@ export default function UserInfoStep({
} else {
setOrganizationNameError(false);
}
-
+
errorCheck = await checkPassword({
password,
commonPasswords,
@@ -176,7 +177,7 @@ export default function UserInfoStep({
salt: result.salt,
verifier: result.verifier,
organizationName,
- attributionSource,
+ attributionSource
});
// unset signup JWT token and set JWT token
@@ -193,7 +194,7 @@ export default function UserInfoStep({
});
const userOrgs = await fetchOrganizations();
-
+
const orgId = userOrgs[0]?._id;
const project = await ProjectService.initProject({
organizationId: orgId,
@@ -217,13 +218,15 @@ export default function UserInfoStep({
};
return (
-