Rela AIRela AI Docs
Sicurezza

Verifica tramite codice OTP

Aggiungi un ulteriore livello di sicurezza tramite codici monouso inviati via WhatsApp o email.

Cos'è la verifica OTP

OTP (One-Time Password) è un codice monouso utilizzato per verificare l'identità dell'utente come secondo livello di sicurezza. Dopo che l'utente fornisce il proprio dato di identificazione (vedi Autenticazione delle conversazioni), il sistema invia un codice temporaneo che deve essere fornito per completare l'autenticazione.

Canali disponibili

La verifica OTP può essere inviata attraverso due canali:

  • WhatsApp — Il codice viene inviato come messaggio WhatsApp al numero di telefono registrato dell'utente.
  • Email — Il codice viene inviato all'indirizzo email registrato dell'utente.

Configurazione

I campi di configurazione determinano da dove vengono recuperati i dati di contatto dell'utente:

CampoDescrizioneDefaultIntervallo
otp_phone_fieldCampo del record contenente il numero di telefono (per OTP via WhatsApp)Campo esistente nella collezione
otp_email_fieldCampo del record contenente l'indirizzo email (per OTP via email)Campo esistente nella collezione

Se entrambi i campi sono configurati, il sistema utilizza il canale disponibile in base ai dati del record dell'utente.

Flusso completo

  1. L'utente si autentica fornendo il proprio dato di identificazione (es: numero di documento).
  2. Il sistema trova il record nella collezione e lo stato di autenticazione passa a pending.
  3. Viene generato un codice di 6 cifre e inviato al canale configurato (WhatsApp o email).
  4. L'agente chiede all'utente di fornire il codice ricevuto.
  5. L'utente fornisce il codice.
  6. Il sistema verifica il codice:
    • Se è corretto, lo stato passa ad authenticated.
    • Se è errato, viene scalato un tentativo e il codice viene richiesto nuovamente.

Sicurezza del codice OTP

Il sistema implementa molteplici misure di sicurezza per proteggere il processo di verifica:

Generazione

  • Il codice è composto da 6 cifre numeriche.
  • Viene generato utilizzando un modulo crittografico sicuro, garantendo un'adeguata casualità.

Memorizzazione

  • Il codice non viene mai memorizzato in testo semplice.
  • Viene memorizzato come hash SHA-256, impedendo la lettura diretta dal database.

Scadenza

  • Il codice scade dopo 5 minuti dalla generazione.
  • Una volta scaduto, l'utente deve richiedere un nuovo codice.

Tentativi falliti

  • È consentito un massimo di 3 tentativi falliti.
  • Dopo aver superato il limite di tentativi, il codice viene invalidato e l'utente deve riavviare il processo di autenticazione.

Relazione con altri moduli

In questa pagina