diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json
index 90c9f9c271..4363070eda 100644
--- a/console/src/assets/i18n/en.json
+++ b/console/src/assets/i18n/en.json
@@ -1231,7 +1231,7 @@
},
"BASIC": {
"TITLE": "Basic",
- "DESCRIPTION": "Authentication with Username and Passwort"
+ "DESCRIPTION": "Authentication with Username and Password"
},
"IMPLICIT": {
"TITLE": "Implicit",
diff --git a/internal/static/i18n/en.yaml b/internal/static/i18n/en.yaml
index 41365e2bb1..6d7a2a3935 100644
--- a/internal/static/i18n/en.yaml
+++ b/internal/static/i18n/en.yaml
@@ -76,7 +76,7 @@ Errors:
Password:
NotFound: Passoword not found
Empty: Password is empty
- Invalid: Passwort is invalid
+ Invalid: Password is invalid
NotSet: User has not set a password
PasswordComplexityPolicy:
NotFound: Password policy not found
@@ -174,9 +174,9 @@ Errors:
AlreadyExists: Password Complexity Policy already exists
PasswordLockout:
NotFound: Password Lockout Policy not found
- Empty: Passwort Lockout Policy is empty
- NotExisting: Passwort Lockout Policy doesn't exist
- AlreadyExists: Passwort Lockout Policy already exists
+ Empty: Password Lockout Policy is empty
+ NotExisting: Password Lockout Policy doesn't exist
+ AlreadyExists: Password Lockout Policy already exists
PasswordAge:
NotFound: Password Age Policy not found
Empty: Password Age Policy is empty
diff --git a/internal/ui/login/handler/password_complexity_policy_handler.go b/internal/ui/login/handler/password_complexity_policy_handler.go
index 34781be6d7..94088a515a 100644
--- a/internal/ui/login/handler/password_complexity_policy_handler.go
+++ b/internal/ui/login/handler/password_complexity_policy_handler.go
@@ -66,6 +66,8 @@ func (l *Login) generatePolicyDescription(r *http.Request, policy *iam_model.Pas
hassymbol := l.renderer.LocalizeFromRequest(r, "Password.HasSymbol", nil)
description += "
" + hassymbol + ""
}
+ confirmation := l.renderer.LocalizeFromRequest(r, "Password.Confirmation", nil)
+ description += "" + confirmation + ""
description += ""
return description, nil
diff --git a/internal/ui/login/static/i18n/de.yaml b/internal/ui/login/static/i18n/de.yaml
index 526c54d3fe..de7bc4f23f 100644
--- a/internal/ui/login/static/i18n/de.yaml
+++ b/internal/ui/login/static/i18n/de.yaml
@@ -28,6 +28,7 @@ Password:
HasLowercase: Kleinbuchstaben
HasNumber: Nummer
HasSymbol: Symbol
+ Confirmation: Bestätigung stimmt überein
UsernameChange:
Title: Usernamen ändern
diff --git a/internal/ui/login/static/i18n/en.yaml b/internal/ui/login/static/i18n/en.yaml
index 7e73f9d924..5197876fe9 100644
--- a/internal/ui/login/static/i18n/en.yaml
+++ b/internal/ui/login/static/i18n/en.yaml
@@ -28,6 +28,7 @@ Password:
HasLowercase: Lowercase letter
HasNumber: Number
HasSymbol: Symbol
+ Confirmation: Confirmation match
UsernameChange:
Title: Change Username
@@ -52,7 +53,7 @@ InitPassword:
NewPasswordConfirm: Confirm Password
InitPasswordDone:
- Title: Passwortd set
+ Title: Password set
Description: Password successfully set
InitUser:
@@ -103,7 +104,7 @@ WebAuthN:
Retry: Retry, create a new challenge or choose a different method.
Passwordless:
- Title: Login passwordles
+ Title: Login passwordless
Description: Verify your token
PasswordChange:
@@ -111,7 +112,7 @@ PasswordChange:
Description: Change your password. Enter your old and new password.
OldPassword: Old Password
NewPassword: New Password
- NewPasswordConfirmation: Passwort confirmation
+ NewPasswordConfirmation: Password confirmation
PasswordChangeDone:
Title: Change Password
@@ -251,7 +252,7 @@ Errors:
Password:
ConfirmationWrong: Passwordconfirmation is wrong
Empty: Password is empty
- Invalid: Passwort is invalid
+ Invalid: Password is invalid
PasswordComplexityPolicy:
NotFound: Password policy not found
MinLength: Password is to short
diff --git a/internal/ui/login/static/resources/scripts/change_password_check.js b/internal/ui/login/static/resources/scripts/change_password_check.js
index 418dba8920..49a8fa7f1a 100644
--- a/internal/ui/login/static/resources/scripts/change_password_check.js
+++ b/internal/ui/login/static/resources/scripts/change_password_check.js
@@ -3,7 +3,7 @@ function CheckChangePwPolicy() {
let pwNew = policyElement.value;
let pwNewConfirmation = document.getElementById("change-password-confirmation").value;
- if (ComplexityPolicyCheck(policyElement, pwNew) === false) {
+ if (ComplexityPolicyCheck(policyElement, pwNew, pwNewConfirmation) === false) {
policyElement.setAttribute("color", "warn");
return false;
} else {
diff --git a/internal/ui/login/static/resources/scripts/init_password_check.js b/internal/ui/login/static/resources/scripts/init_password_check.js
index 7ff3d5a181..d165afbb4f 100644
--- a/internal/ui/login/static/resources/scripts/init_password_check.js
+++ b/internal/ui/login/static/resources/scripts/init_password_check.js
@@ -3,7 +3,7 @@ function CheckInitPwPolicy() {
let pwNew = policyElement.value;
let pwNewConfirmation = document.getElementById("passwordconfirm").value;
- if (ComplexityPolicyCheck(policyElement, pwNew) === false) {
+ if (ComplexityPolicyCheck(policyElement, pwNew, pwNewConfirmation) === false) {
return false;
}
diff --git a/internal/ui/login/static/resources/scripts/password_policy_check.js b/internal/ui/login/static/resources/scripts/password_policy_check.js
index 79785e8d8c..d36e5cac1a 100644
--- a/internal/ui/login/static/resources/scripts/password_policy_check.js
+++ b/internal/ui/login/static/resources/scripts/password_policy_check.js
@@ -1,4 +1,4 @@
-function ComplexityPolicyCheck(policyElement, pwNew) {
+function ComplexityPolicyCheck(policyElement, pwNew, pwNewConfirmation) {
let minLength = policyElement.dataset.minlength;
let upperRegex = policyElement.dataset.hasUppercase;
let lowerRegex = policyElement.dataset.hasLowercase;
@@ -55,6 +55,14 @@ function ComplexityPolicyCheck(policyElement, pwNew) {
valid = false;
}
}
+ let confirmation = document.getElementById('confirmation');
+ if (pwNew === pwNewConfirmation && pwNewConfirmation !== "" ) {
+ ValidPolicy(confirmation);
+ valid = true;
+ } else {
+ InvalidPolicy(confirmation);
+ valid = false;
+ }
return valid;
}
diff --git a/internal/ui/login/static/resources/scripts/register_check.js b/internal/ui/login/static/resources/scripts/register_check.js
index c6ad5055b1..f5c10f2151 100644
--- a/internal/ui/login/static/resources/scripts/register_check.js
+++ b/internal/ui/login/static/resources/scripts/register_check.js
@@ -3,7 +3,7 @@ function CheckRegisterPwPolicy() {
let pwNew = policyElement.value;
let pwNewConfirmation = document.getElementById("register-password-confirmation").value;
- if (ComplexityPolicyCheck(policyElement, pwNew) === false) {
+ if (ComplexityPolicyCheck(policyElement, pwNew, pwNewConfirmation) === false) {
policyElement.setAttribute("color", "warn");
return false;
} else {