Files
syndarix/frontend/messages/en.json
Felipe Cardoso 400d6f6f75 Enhance OAuth security and state validation
- Implemented stricter OAuth security measures, including CSRF protection via state parameter validation and redirect_uri checks.
- Updated OAuth models to support timezone-aware datetime comparisons, replacing deprecated `utcnow`.
- Enhanced logging for malformed Basic auth headers during token, introspect, and revoke requests.
- Added allowlist validation for OAuth provider domains to prevent open redirect attacks.
- Improved nonce validation for OpenID Connect tokens, ensuring token integrity during Google provider flows.
- Updated E2E and unit tests to cover new security features and expanded OAuth state handling scenarios.
2025-11-25 23:50:43 +01:00

280 lines
11 KiB
JSON

{
"common": {
"loading": "Loading...",
"error": "Error",
"success": "Success",
"cancel": "Cancel",
"save": "Save",
"delete": "Delete",
"edit": "Edit",
"close": "Close",
"confirm": "Confirm",
"back": "Back",
"next": "Next",
"submit": "Submit",
"search": "Search",
"filter": "Filter",
"clear": "Clear",
"required": "Required",
"optional": "Optional",
"yes": "Yes",
"no": "No"
},
"navigation": {
"home": "Home",
"dashboard": "Dashboard",
"settings": "Settings",
"profile": "Profile",
"logout": "Log out",
"loggingOut": "Logging out...",
"login": "Login",
"register": "Register",
"demos": "Demos",
"design": "Design System",
"admin": "Admin",
"adminPanel": "Admin Panel"
},
"auth": {
"login": {
"title": "Sign in to your account",
"subtitle": "Enter your email below to sign in to your account",
"emailLabel": "Email",
"emailPlaceholder": "name@example.com",
"passwordLabel": "Password",
"passwordPlaceholder": "Enter your password",
"rememberMe": "Remember me",
"forgotPassword": "Forgot password?",
"loginButton": "Sign in",
"loginButtonLoading": "Signing in...",
"noAccount": "Don't have an account?",
"registerLink": "Sign up",
"success": "Successfully logged in",
"error": "Invalid email or password",
"unexpectedError": "An unexpected error occurred. Please try again."
},
"register": {
"title": "Create an account",
"subtitle": "Enter your information to create an account",
"firstNameLabel": "First Name",
"firstNamePlaceholder": "John",
"lastNameLabel": "Last Name",
"lastNamePlaceholder": "Doe (optional)",
"emailLabel": "Email",
"emailPlaceholder": "you@example.com",
"passwordLabel": "Password",
"passwordPlaceholder": "Create a strong password",
"confirmPasswordLabel": "Confirm Password",
"confirmPasswordPlaceholder": "Confirm your password",
"phoneLabel": "Phone Number",
"phonePlaceholder": "+1 (555) 000-0000",
"registerButton": "Create account",
"registerButtonLoading": "Creating account...",
"hasAccount": "Already have an account?",
"loginLink": "Sign in",
"success": "Account created successfully",
"error": "Failed to create account",
"unexpectedError": "An unexpected error occurred. Please try again.",
"passwordRequirements": {
"minLength": "At least 8 characters",
"hasNumber": "Contains a number",
"hasUppercase": "Contains an uppercase letter"
},
"required": "*",
"firstNameRequired": "First name is required",
"firstNameMinLength": "First name must be at least 2 characters",
"firstNameMaxLength": "First name must not exceed 50 characters",
"lastNameMaxLength": "Last name must not exceed 50 characters",
"passwordRequired": "Password is required",
"passwordMinLength": "Password must be at least 8 characters",
"passwordNumber": "Password must contain at least one number",
"passwordUppercase": "Password must contain at least one uppercase letter",
"confirmPasswordRequired": "Please confirm your password",
"passwordMismatch": "Passwords do not match"
},
"passwordReset": {
"title": "Reset your password",
"subtitle": "Enter your email address and we'll send you a reset link",
"instructions": "Enter your email address and we'll send you instructions to reset your password.",
"emailLabel": "Email",
"emailPlaceholder": "you@example.com",
"sendButton": "Send Reset Instructions",
"sendButtonLoading": "Sending...",
"backToLogin": "Back to login",
"rememberPassword": "Remember your password?",
"success": "Password reset instructions have been sent to your email address. Please check your inbox.",
"error": "Failed to send reset link",
"unexpectedError": "An unexpected error occurred. Please try again.",
"required": "*"
},
"passwordChange": {
"title": "Change Password",
"currentPasswordLabel": "Current Password",
"newPasswordLabel": "New Password",
"newPasswordPlaceholder": "Enter new password",
"confirmPasswordLabel": "Confirm New Password",
"confirmPasswordPlaceholder": "Re-enter new password",
"changeButton": "Change Password",
"success": "Password changed successfully",
"error": "Failed to change password"
},
"passwordResetConfirm": {
"title": "Reset Password",
"instructions": "Enter your new password below. Make sure it meets all security requirements.",
"newPasswordLabel": "New Password",
"newPasswordPlaceholder": "Enter new password",
"confirmPasswordLabel": "Confirm Password",
"confirmPasswordPlaceholder": "Re-enter new password",
"resetButton": "Reset Password",
"resetButtonLoading": "Resetting Password...",
"rememberPassword": "Remember your password?",
"backToLogin": "Back to login",
"success": "Your password has been successfully reset. You can now log in with your new password.",
"unexpectedError": "An unexpected error occurred. Please try again.",
"required": "*",
"tokenRequired": "Reset token is required",
"passwordRequired": "New password is required",
"passwordMinLength": "Password must be at least 8 characters",
"passwordNumber": "Password must contain at least one number",
"passwordUppercase": "Password must contain at least one uppercase letter",
"confirmPasswordRequired": "Please confirm your password",
"passwordMismatch": "Passwords do not match",
"passwordRequirements": {
"minLength": "At least 8 characters",
"hasNumber": "Contains a number",
"hasUppercase": "Contains an uppercase letter"
}
},
"oauth": {
"divider": "Or continue with",
"loading": "Loading providers...",
"continueWith": "Continue with {provider}",
"signUpWith": "Sign up with {provider}",
"processing": "Completing authentication...",
"authFailed": "Authentication Failed",
"providerError": "The authentication provider returned an error",
"missingParams": "Missing authentication parameters",
"stateMismatch": "Invalid OAuth state. Please try again.",
"unexpectedError": "An unexpected error occurred during authentication",
"backToLogin": "Back to Login"
}
},
"settings": {
"title": "Settings",
"profile": {
"title": "Profile Information",
"subtitle": "Update your personal information. Your email address is read-only.",
"firstNameLabel": "First Name",
"firstNamePlaceholder": "John",
"lastNameLabel": "Last Name",
"lastNamePlaceholder": "Doe",
"emailLabel": "Email",
"emailDescription": "Your email address cannot be changed from this form",
"phoneLabel": "Phone Number",
"updateButton": "Save Changes",
"updateButtonLoading": "Saving...",
"resetButton": "Reset",
"success": "Profile updated successfully",
"error": "Failed to update profile",
"unexpectedError": "An unexpected error occurred. Please try again.",
"firstNameRequired": "First name is required",
"firstNameMinLength": "First name must be at least 2 characters",
"firstNameMaxLength": "First name must not exceed 50 characters",
"lastNameMaxLength": "Last name must not exceed 50 characters",
"emailInvalid": "Invalid email address"
},
"password": {
"title": "Change Password",
"subtitle": "Update your password to keep your account secure. Make sure it's strong and unique.",
"currentPasswordLabel": "Current Password",
"currentPasswordPlaceholder": "Enter your current password",
"newPasswordLabel": "New Password",
"newPasswordPlaceholder": "Enter your new password",
"newPasswordDescription": "At least 8 characters with uppercase, lowercase, number, and special character",
"confirmPasswordLabel": "Confirm New Password",
"confirmPasswordPlaceholder": "Confirm your new password",
"updateButton": "Change Password",
"updateButtonLoading": "Changing Password...",
"cancelButton": "Cancel",
"success": "Password updated successfully",
"error": "Failed to update password",
"unexpectedError": "An unexpected error occurred. Please try again.",
"currentPasswordRequired": "Current password is required",
"newPasswordRequired": "New password is required",
"newPasswordMinLength": "Password must be at least 8 characters",
"newPasswordNumber": "Password must contain at least one number",
"newPasswordUppercase": "Password must contain at least one uppercase letter",
"newPasswordLowercase": "Password must contain at least one lowercase letter",
"newPasswordSpecial": "Password must contain at least one special character",
"confirmPasswordRequired": "Please confirm your new password",
"passwordMismatch": "Passwords do not match"
},
"sessions": {
"title": "Sessions",
"subtitle": "Manage your active sessions",
"currentSession": "Current Session",
"activeSession": "Active",
"lastActive": "Last active",
"device": "Device",
"location": "Location",
"revokeButton": "Revoke",
"revokeAll": "Revoke All Other Sessions",
"success": "Session revoked successfully",
"error": "Failed to revoke session"
},
"preferences": {
"title": "Preferences",
"subtitle": "Customize your experience",
"language": "Language",
"languageDescription": "Select your preferred language",
"theme": "Theme",
"themeDescription": "Choose your color scheme",
"themeLight": "Light",
"themeDark": "Dark",
"themeSystem": "System"
},
"linkedAccounts": {
"pageTitle": "Linked Accounts",
"pageSubtitle": "Manage your linked social accounts",
"title": "Connected Accounts",
"description": "Connect your account with social providers for easier sign-in",
"linked": "Connected",
"link": "Connect",
"unlink": "Disconnect",
"linkError": "Failed to connect account",
"unlinkError": "Failed to disconnect account"
}
},
"errors": {
"notFound": "Page not found",
"notFoundDescription": "The page you're looking for doesn't exist.",
"unauthorized": "Unauthorized",
"unauthorizedDescription": "You don't have permission to access this page.",
"serverError": "Server error",
"serverErrorDescription": "Something went wrong on our end.",
"networkError": "Network error",
"networkErrorDescription": "Please check your internet connection.",
"validation": {
"required": "This field is required",
"email": "Please enter a valid email address",
"minLength": "Must be at least {min} characters",
"maxLength": "Must be at most {max} characters",
"passwordMismatch": "Passwords do not match",
"passwordWeak": "Password is too weak"
}
},
"validation": {
"required": "This field is required",
"email": "Invalid email address",
"minLength": "Must be at least 8 characters",
"maxLength": "Maximum {count} characters allowed",
"pattern": "Invalid format",
"passwordMismatch": "Passwords do not match"
},
"locale": {
"en": "English",
"it": "Italian",
"switchLanguage": "Switch language",
"currentLanguage": "Current language"
}
}