Class OTPManager
Questa classe implementa un meccanismo di storage in-memory basato su HashMap per associare temporaneamente
codici di sicurezza univoci e oggetti UtenteEntity all'indirizzo email dell'utente.
Viene utilizzata prevalentemente nei flussi di autenticazione a due fattori (2FA) e nel recupero credenziali.
Nota Tecnica: La memorizzazione è volatile; il riavvio dell'applicazione comporta la perdita di tutti i codici OTP attivi.
- Since:
- 1.0.0
- Version:
- 1.2.7
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionMappa di associazione tra l'indirizzo email dell'utente e il codice OTP generato.private static final HashMap<String, UtenteEntity> Mappa di associazione tra l'indirizzo email dell'utente e l'entità utente completa. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOTP(String email, UtenteEntity utente) Genera e registra un nuovo codice OTP per una specifica email utente.private StringGenera internamente un codice alfanumerico casuale di 6 caratteri.getOTPEmail(String email) Recupera il codice OTP associato a un'email.getOTPUser(String email) Recupera l'entità utente associata a una sessione OTP attiva.voidremoveOTPEmail(String email) Rimuove il codice OTP attivo per un'email specifica.voidremoveOTPUser(String email) Rimuove l'associazione dell'entità utente per un'email specifica.
-
Field Details
-
otpMap
-
otpUserEntityMap
Mappa di associazione tra l'indirizzo email dell'utente e l'entità utente completa.Memorizza lo stato dell'utente durante il processo di verifica per permettere operazioni post-validazione senza ulteriori query al database.
-
-
Constructor Details
-
OTPManager
public OTPManager()Costruttore predefinito della classe.- Since:
- 1.0.0
-
-
Method Details
-
generateOTP
-
addOTP
Genera e registra un nuovo codice OTP per una specifica email utente.Se per l'email fornita esiste già un codice attivo, questo viene invalidato e rimosso prima di inserire il nuovo identificativo. Associa inoltre l'entità utente per persistenza temporanea.
- Parameters:
email- L'indirizzo email del destinatario.utente- L'oggettoUtenteEntityassociato alla sessione di verifica.- Since:
- 1.0.0
-
getOTPEmail
-
removeOTPEmail
Rimuove il codice OTP attivo per un'email specifica.Da utilizzare tipicamente dopo una validazione andata a buon fine o in caso di scadenza timeout.
- Parameters:
email- L'email da ripulire.- Since:
- 1.1.0
-
getOTPUser
Recupera l'entità utente associata a una sessione OTP attiva.- Parameters:
email- L'email associata all'utente.- Returns:
- L'istanza di
UtenteEntitysalvata nel manager. - Since:
- 1.0.0
-
removeOTPUser
Rimuove l'associazione dell'entità utente per un'email specifica.- Parameters:
email- L'email da ripulire.- Since:
- 1.1.0
-