Introductie
E-mailverificatie (Email Verification) is een mechanisme dat controleert of een gebruiker daadwerkelijk eigenaar is van het geregistreerde e-mailadres. Laravel levert het versturen van de verificatiemail en de verificatieverwerking standaard mee, zodat je met minimale implementatie een veilige verificatieflow kunt bouwen.Gebruik je een starter kit, dan zijn de authenticatieschermen en de e-mailverificatieflow al ingebouwd. Implementeer je handmatig, definieer dan zelf het model, de routes en de views volgens de stappen op deze pagina.
Model en database voorbereiden
MustVerifyEmail implementeren
Controleer ofApp\Models\User de interface Illuminate\Contracts\Auth\MustVerifyEmail implementeert.
Registered-event af.
De kolom email_verified_at controleren
De tabelusers heeft een kolom email_verified_at nodig. Deze zit doorgaans al in de standaardmigration 0001_01_01_000000_create_users_table.php.
Routing (drie routes)
Voor e-mailverificatie definieer je drie routes:verification.notice, verification.verify en verification.send.
1
Definieer de route voor de verificatiemelding (verification.notice)
Deze retourneert een scherm dat niet-geverifieerde gebruikers vraagt hun e-mail te controleren.
2
Definieer de verificatiehandler-route (verification.verify)
Wanneer de gebruiker op de link in de e-mail klikt, wordt de ondertekende URL gevalideerd en de verificatie afgerond.
3
Definieer de route voor opnieuw versturen (verification.send)
Verstuurt de verificatiemail opnieuw wanneer de gebruiker deze is kwijtgeraakt.
Routes beschermen
Wil je alleen geverifieerde gebruikers toegang geven, gebruik dan deverified-middleware. Meestal combineer je die met auth.
verification.notice.
Aanpassen
Om de inhoud van de verificatiemail aan te passen, stel jeVerifyEmail::toMailUsing in binnen de boot-methode van de AppServiceProvider.
Events
Bij e-mailverificatie wordt het eventIlluminate\Auth\Events\Verified afgevuurd. Bij starter kits wordt dit automatisch afgehandeld; bij handmatige implementatie voeg je waar nodig zelf eventverwerking toe.