mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat(web): add MFA login prompt and security settings UI
Handle MFA challenge in login flow (TOTP code input after password verification, recovery code hint, back navigation). Add admin security settings section with session idle timeout, max sessions per user, MFA policy selector, SSO enforcement toggle with break-glass username, and password policy controls. Propagate new i18n keys to all 21 locales.
This commit is contained in:
@@ -2719,6 +2719,33 @@ export const vi: TranslationKeys = {
|
||||
currentPasswordIncorrect: "Mật khẩu hiện tại không đúng",
|
||||
changePasswordButton: "Đổi mật khẩu",
|
||||
loginAttemptLimitNote: "Giới hạn đăng nhập có thể được cấu hình trong Cài đặt hệ thống.",
|
||||
adminHeading: "Admin Security Settings",
|
||||
adminDescription: "Enterprise security policy settings. These apply to all users.",
|
||||
sessionIdleTimeout: "Session Idle Timeout (minutes)",
|
||||
sessionIdleTimeoutDesc: "Automatically log out idle sessions. 0 = disabled.",
|
||||
maxSessionsPerUser: "Max Sessions Per User",
|
||||
maxSessionsPerUserDesc: "Limit concurrent sessions per user. 0 = unlimited.",
|
||||
mfaPolicy: "MFA Policy",
|
||||
mfaPolicyDesc: "Require multi-factor authentication for users.",
|
||||
mfaPolicyOptional: "Optional",
|
||||
mfaPolicyAdminsOnly: "Required for admins",
|
||||
mfaPolicyRequired: "Required for all users",
|
||||
ssoEnforcement: "SSO Enforcement",
|
||||
ssoEnforcementDesc: "Require SSO login for all non-break-glass users.",
|
||||
ssoBreakGlassUsername: "Break Glass Admin Username",
|
||||
ssoBreakGlassUsernameDesc:
|
||||
"This admin can still log in with local credentials when SSO is enforced.",
|
||||
passwordMinLength: "Minimum Password Length",
|
||||
passwordMinLengthDesc: "Minimum number of characters required for passwords.",
|
||||
passwordRequireUppercase: "Require Uppercase",
|
||||
passwordRequireUppercaseDesc: "Require at least one uppercase letter.",
|
||||
passwordRequireNumber: "Require Number",
|
||||
passwordRequireNumberDesc: "Require at least one number.",
|
||||
passwordRequireSpecial: "Require Special Character",
|
||||
passwordRequireSpecialDesc: "Require at least one special character.",
|
||||
passwordPolicyHeading: "Password Policy",
|
||||
securitySettingsSaved: "Security settings saved",
|
||||
securitySettingsFailed: "Failed to save security settings",
|
||||
},
|
||||
people: {
|
||||
heading: "Thành viên",
|
||||
@@ -3013,6 +3040,13 @@ export const vi: TranslationKeys = {
|
||||
"Your account is not authorized to access this application. Contact your administrator.",
|
||||
samlUserLimitReached: "User limit reached. Contact your administrator.",
|
||||
ssoEnforcedLocalRestricted: "Local login is restricted to authorized administrators.",
|
||||
mfaRequired: "Enter your authentication code",
|
||||
mfaRecoveryHint: "You can also use a recovery code",
|
||||
verify: "Verify",
|
||||
verifying: "Verifying...",
|
||||
mfaInvalidCode: "Invalid code. Please try again.",
|
||||
mfaEnrollmentRequired:
|
||||
"Your organization requires multi-factor authentication. Please set up MFA in your account settings.",
|
||||
methodSaml: "SAML",
|
||||
passwordManagedByProvider: "Việc đổi mật khẩu được quản lý bởi nhà cung cấp danh tính của bạn.",
|
||||
enterUsername: "Nhập tên đăng nhập",
|
||||
|
||||
Reference in New Issue
Block a user