Introduzione
La verifica email (Email Verification) è il meccanismo che verifica se un utente possiede realmente l’indirizzo email registrato. Laravel fornisce di default l’invio dell’email di conferma e il processo di verifica, così puoi costruire un flusso di autenticazione sicuro con un’implementazione minima.Se usi gli starter kit, le schermate di autenticazione e il flusso di verifica email sono già integrati. Se implementi tutto a mano, definisci autonomamente modello, route e viste seguendo le istruzioni di questa pagina.
Preparazione di modello e database
Implementare MustVerifyEmail
Assicurati cheApp\Models\User implementi Illuminate\Contracts\Auth\MustVerifyEmail.
Registered dopo che la registrazione ha avuto successo.
Verifica della colonna email_verified_at
La tabellausers deve avere la colonna email_verified_at. Di norma è già inclusa nella migration di default 0001_01_01_000000_create_users_table.php.
Routing (3 route)
Per la verifica email definisci le 3 routeverification.notice, verification.verify e verification.send.
Definisci la route di notifica di verifica (verification.notice)
Restituisce la schermata che mostra “controlla la tua email” agli utenti non verificati.
Definisci la route di gestione della verifica (verification.verify)
Quando l’utente clicca sul link nell’email, verifica l’URL firmato e completa la verifica.
Protezione delle route
Per consentire l’accesso solo agli utenti verificati usa il middlewareverified. Di solito lo combini con auth.
verification.notice.
Personalizzazione
Per personalizzare il corpo dell’email di conferma, configuraVerifyEmail::toMailUsing nel metodo boot di AppServiceProvider.
Eventi
Alla verifica email viene emesso l’eventoIlluminate\Auth\Events\Verified. Con gli starter kit è gestito automaticamente; nell’implementazione manuale, aggiungi la gestione dell’evento se necessario.