- 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.
280 lines
12 KiB
JSON
280 lines
12 KiB
JSON
{
|
|
"common": {
|
|
"loading": "Caricamento...",
|
|
"error": "Errore",
|
|
"success": "Successo",
|
|
"cancel": "Annulla",
|
|
"save": "Salva",
|
|
"delete": "Elimina",
|
|
"edit": "Modifica",
|
|
"close": "Chiudi",
|
|
"confirm": "Conferma",
|
|
"back": "Indietro",
|
|
"next": "Avanti",
|
|
"submit": "Invia",
|
|
"search": "Cerca",
|
|
"filter": "Filtra",
|
|
"clear": "Cancella",
|
|
"required": "Obbligatorio",
|
|
"optional": "Facoltativo",
|
|
"yes": "Sì",
|
|
"no": "No"
|
|
},
|
|
"navigation": {
|
|
"home": "Home",
|
|
"dashboard": "Dashboard",
|
|
"settings": "Impostazioni",
|
|
"profile": "Profilo",
|
|
"logout": "Disconnetti",
|
|
"loggingOut": "Disconnessione...",
|
|
"login": "Accedi",
|
|
"register": "Registrati",
|
|
"demos": "Demo",
|
|
"design": "Design System",
|
|
"admin": "Admin",
|
|
"adminPanel": "Pannello Admin"
|
|
},
|
|
"auth": {
|
|
"login": {
|
|
"title": "Accedi al tuo account",
|
|
"subtitle": "Inserisci la tua email per accedere al tuo account",
|
|
"emailLabel": "Email",
|
|
"emailPlaceholder": "nome@esempio.com",
|
|
"passwordLabel": "Password",
|
|
"passwordPlaceholder": "Inserisci la tua password",
|
|
"rememberMe": "Ricordami",
|
|
"forgotPassword": "Password dimenticata?",
|
|
"loginButton": "Accedi",
|
|
"loginButtonLoading": "Accesso in corso...",
|
|
"noAccount": "Non hai un account?",
|
|
"registerLink": "Registrati",
|
|
"success": "Accesso effettuato con successo",
|
|
"error": "Email o password non validi",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova."
|
|
},
|
|
"register": {
|
|
"title": "Crea un account",
|
|
"subtitle": "Inserisci le tue informazioni per creare un account",
|
|
"firstNameLabel": "Nome",
|
|
"firstNamePlaceholder": "Mario",
|
|
"lastNameLabel": "Cognome",
|
|
"lastNamePlaceholder": "Rossi (facoltativo)",
|
|
"emailLabel": "Email",
|
|
"emailPlaceholder": "nome@esempio.com",
|
|
"passwordLabel": "Password",
|
|
"passwordPlaceholder": "Crea una password sicura",
|
|
"confirmPasswordLabel": "Conferma Password",
|
|
"confirmPasswordPlaceholder": "Conferma la tua password",
|
|
"phoneLabel": "Numero di Telefono",
|
|
"phonePlaceholder": "+39 123 456 7890",
|
|
"registerButton": "Crea account",
|
|
"registerButtonLoading": "Creazione account...",
|
|
"hasAccount": "Hai già un account?",
|
|
"loginLink": "Accedi",
|
|
"success": "Account creato con successo",
|
|
"error": "Impossibile creare l'account",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
|
|
"passwordRequirements": {
|
|
"minLength": "Almeno 8 caratteri",
|
|
"hasNumber": "Contiene un numero",
|
|
"hasUppercase": "Contiene una lettera maiuscola"
|
|
},
|
|
"required": "*",
|
|
"firstNameRequired": "Il nome è obbligatorio",
|
|
"firstNameMinLength": "Il nome deve essere di almeno 2 caratteri",
|
|
"firstNameMaxLength": "Il nome non deve superare i 50 caratteri",
|
|
"lastNameMaxLength": "Il cognome non deve superare i 50 caratteri",
|
|
"passwordRequired": "La password è obbligatoria",
|
|
"passwordMinLength": "La password deve essere di almeno 8 caratteri",
|
|
"passwordNumber": "La password deve contenere almeno un numero",
|
|
"passwordUppercase": "La password deve contenere almeno una lettera maiuscola",
|
|
"confirmPasswordRequired": "Conferma la tua password",
|
|
"passwordMismatch": "Le password non corrispondono"
|
|
},
|
|
"passwordReset": {
|
|
"title": "Reimposta la tua password",
|
|
"subtitle": "Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la password",
|
|
"instructions": "Inserisci il tuo indirizzo email e ti invieremo le istruzioni per reimpostare la password.",
|
|
"emailLabel": "Email",
|
|
"emailPlaceholder": "nome@esempio.com",
|
|
"sendButton": "Invia Istruzioni di Reset",
|
|
"sendButtonLoading": "Invio in corso...",
|
|
"backToLogin": "Torna al login",
|
|
"rememberPassword": "Ricordi la tua password?",
|
|
"success": "Le istruzioni per il reset della password sono state inviate al tuo indirizzo email. Controlla la tua casella di posta.",
|
|
"error": "Impossibile inviare il link di reset",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
|
|
"required": "*"
|
|
},
|
|
"passwordChange": {
|
|
"title": "Cambia Password",
|
|
"currentPasswordLabel": "Password Attuale",
|
|
"newPasswordLabel": "Nuova Password",
|
|
"newPasswordPlaceholder": "Inserisci nuova password",
|
|
"confirmPasswordLabel": "Conferma Nuova Password",
|
|
"confirmPasswordPlaceholder": "Reinserisci nuova password",
|
|
"changeButton": "Cambia Password",
|
|
"success": "Password cambiata con successo",
|
|
"error": "Impossibile cambiare la password"
|
|
},
|
|
"passwordResetConfirm": {
|
|
"title": "Reimposta Password",
|
|
"instructions": "Inserisci la tua nuova password qui sotto. Assicurati che soddisfi tutti i requisiti di sicurezza.",
|
|
"newPasswordLabel": "Nuova Password",
|
|
"newPasswordPlaceholder": "Inserisci nuova password",
|
|
"confirmPasswordLabel": "Conferma Password",
|
|
"confirmPasswordPlaceholder": "Reinserisci nuova password",
|
|
"resetButton": "Reimposta Password",
|
|
"resetButtonLoading": "Reimpostazione Password...",
|
|
"rememberPassword": "Ricordi la tua password?",
|
|
"backToLogin": "Torna al login",
|
|
"success": "La tua password è stata reimpostata con successo. Ora puoi accedere con la tua nuova password.",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
|
|
"required": "*",
|
|
"tokenRequired": "Token di reset è obbligatorio",
|
|
"passwordRequired": "La nuova password è obbligatoria",
|
|
"passwordMinLength": "La password deve essere di almeno 8 caratteri",
|
|
"passwordNumber": "La password deve contenere almeno un numero",
|
|
"passwordUppercase": "La password deve contenere almeno una lettera maiuscola",
|
|
"confirmPasswordRequired": "Conferma la tua password",
|
|
"passwordMismatch": "Le password non corrispondono",
|
|
"passwordRequirements": {
|
|
"minLength": "Almeno 8 caratteri",
|
|
"hasNumber": "Contiene un numero",
|
|
"hasUppercase": "Contiene una lettera maiuscola"
|
|
}
|
|
},
|
|
"oauth": {
|
|
"divider": "Oppure continua con",
|
|
"loading": "Caricamento provider...",
|
|
"continueWith": "Continua con {provider}",
|
|
"signUpWith": "Registrati con {provider}",
|
|
"processing": "Completamento autenticazione...",
|
|
"authFailed": "Autenticazione Fallita",
|
|
"providerError": "Il provider di autenticazione ha restituito un errore",
|
|
"missingParams": "Parametri di autenticazione mancanti",
|
|
"stateMismatch": "Stato OAuth non valido. Riprova.",
|
|
"unexpectedError": "Si è verificato un errore durante l'autenticazione",
|
|
"backToLogin": "Torna al Login"
|
|
}
|
|
},
|
|
"settings": {
|
|
"title": "Impostazioni",
|
|
"profile": {
|
|
"title": "Informazioni Profilo",
|
|
"subtitle": "Aggiorna le tue informazioni personali. Il tuo indirizzo email è di sola lettura.",
|
|
"firstNameLabel": "Nome",
|
|
"firstNamePlaceholder": "Mario",
|
|
"lastNameLabel": "Cognome",
|
|
"lastNamePlaceholder": "Rossi",
|
|
"emailLabel": "Email",
|
|
"emailDescription": "Il tuo indirizzo email non può essere modificato da questo modulo",
|
|
"phoneLabel": "Numero di Telefono",
|
|
"updateButton": "Salva Modifiche",
|
|
"updateButtonLoading": "Salvataggio...",
|
|
"resetButton": "Ripristina",
|
|
"success": "Profilo aggiornato con successo",
|
|
"error": "Impossibile aggiornare il profilo",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
|
|
"firstNameRequired": "Il nome è obbligatorio",
|
|
"firstNameMinLength": "Il nome deve essere di almeno 2 caratteri",
|
|
"firstNameMaxLength": "Il nome non deve superare i 50 caratteri",
|
|
"lastNameMaxLength": "Il cognome non deve superare i 50 caratteri",
|
|
"emailInvalid": "Indirizzo email non valido"
|
|
},
|
|
"password": {
|
|
"title": "Cambia Password",
|
|
"subtitle": "Aggiorna la tua password per mantenere il tuo account sicuro. Assicurati che sia forte e univoca.",
|
|
"currentPasswordLabel": "Password Attuale",
|
|
"currentPasswordPlaceholder": "Inserisci la tua password attuale",
|
|
"newPasswordLabel": "Nuova Password",
|
|
"newPasswordPlaceholder": "Inserisci la tua nuova password",
|
|
"newPasswordDescription": "Almeno 8 caratteri con maiuscole, minuscole, numeri e caratteri speciali",
|
|
"confirmPasswordLabel": "Conferma Nuova Password",
|
|
"confirmPasswordPlaceholder": "Conferma la tua nuova password",
|
|
"updateButton": "Cambia Password",
|
|
"updateButtonLoading": "Cambio Password...",
|
|
"cancelButton": "Annulla",
|
|
"success": "Password aggiornata con successo",
|
|
"error": "Impossibile aggiornare la password",
|
|
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
|
|
"currentPasswordRequired": "La password attuale è obbligatoria",
|
|
"newPasswordRequired": "La nuova password è obbligatoria",
|
|
"newPasswordMinLength": "La password deve essere di almeno 8 caratteri",
|
|
"newPasswordNumber": "La password deve contenere almeno un numero",
|
|
"newPasswordUppercase": "La password deve contenere almeno una lettera maiuscola",
|
|
"newPasswordLowercase": "La password deve contenere almeno una lettera minuscola",
|
|
"newPasswordSpecial": "La password deve contenere almeno un carattere speciale",
|
|
"confirmPasswordRequired": "Conferma la tua nuova password",
|
|
"passwordMismatch": "Le password non corrispondono"
|
|
},
|
|
"sessions": {
|
|
"title": "Sessioni",
|
|
"subtitle": "Gestisci le tue sessioni attive",
|
|
"currentSession": "Sessione Corrente",
|
|
"activeSession": "Attiva",
|
|
"lastActive": "Ultima attività",
|
|
"device": "Dispositivo",
|
|
"location": "Posizione",
|
|
"revokeButton": "Revoca",
|
|
"revokeAll": "Revoca Tutte le Altre Sessioni",
|
|
"success": "Sessione revocata con successo",
|
|
"error": "Impossibile revocare la sessione"
|
|
},
|
|
"preferences": {
|
|
"title": "Preferenze",
|
|
"subtitle": "Personalizza la tua esperienza",
|
|
"language": "Lingua",
|
|
"languageDescription": "Seleziona la tua lingua preferita",
|
|
"theme": "Tema",
|
|
"themeDescription": "Scegli la tua combinazione di colori",
|
|
"themeLight": "Chiaro",
|
|
"themeDark": "Scuro",
|
|
"themeSystem": "Sistema"
|
|
},
|
|
"linkedAccounts": {
|
|
"pageTitle": "Account Collegati",
|
|
"pageSubtitle": "Gestisci i tuoi account social collegati",
|
|
"title": "Account Connessi",
|
|
"description": "Collega il tuo account con i provider social per un accesso più semplice",
|
|
"linked": "Connesso",
|
|
"link": "Connetti",
|
|
"unlink": "Scollega",
|
|
"linkError": "Impossibile connettere l'account",
|
|
"unlinkError": "Impossibile scollegare l'account"
|
|
}
|
|
},
|
|
"errors": {
|
|
"notFound": "Pagina non trovata",
|
|
"notFoundDescription": "La pagina che stai cercando non esiste.",
|
|
"unauthorized": "Non autorizzato",
|
|
"unauthorizedDescription": "Non hai i permessi per accedere a questa pagina.",
|
|
"serverError": "Errore del server",
|
|
"serverErrorDescription": "Qualcosa è andato storto dal nostro lato.",
|
|
"networkError": "Errore di rete",
|
|
"networkErrorDescription": "Controlla la tua connessione internet.",
|
|
"validation": {
|
|
"required": "Questo campo è obbligatorio",
|
|
"email": "Inserisci un indirizzo email valido",
|
|
"minLength": "Deve essere di almeno {min} caratteri",
|
|
"maxLength": "Deve essere al massimo {max} caratteri",
|
|
"passwordMismatch": "Le password non corrispondono",
|
|
"passwordWeak": "La password è troppo debole"
|
|
}
|
|
},
|
|
"validation": {
|
|
"required": "Questo campo è obbligatorio",
|
|
"email": "Indirizzo email non valido",
|
|
"minLength": "Deve contenere almeno 8 caratteri",
|
|
"maxLength": "Massimo {count} caratteri consentiti",
|
|
"pattern": "Formato non valido",
|
|
"passwordMismatch": "Le password non corrispondono"
|
|
},
|
|
"locale": {
|
|
"en": "Inglese",
|
|
"it": "Italiano",
|
|
"switchLanguage": "Cambia lingua",
|
|
"currentLanguage": "Lingua corrente"
|
|
}
|
|
}
|