Einführung
Die E-Mail-Verifizierung (Email Verification) ist ein Mechanismus, um zu bestätigen, dass Ihre Nutzer die von ihnen registrierte E-Mail-Adresse tatsächlich besitzen. Laravel liefert das Versenden der Bestätigungs-E-Mail und deren Prüfung standardmäßig mit, sodass Sie mit minimalem Aufwand einen sicheren Verifizierungs-Flow aufbauen können.Wenn Sie ein Starter Kit verwenden, sind Authentifizierungs-Screens und der E-Mail-Verifizierungs-Flow bereits integriert. Bei einer manuellen Implementierung definieren Sie Modell, Routen und Views nach den Schritten dieser Seite selbst.
Vorbereitung von Modell und Datenbank
MustVerifyEmail implementieren
Stellen Sie sicher, dassApp\Models\User das Interface Illuminate\Contracts\Auth\MustVerifyEmail implementiert.
Registered ab.
Spalte email_verified_at prüfen
Die Tabelleusers benötigt eine Spalte email_verified_at. Diese ist in der Regel bereits in der Standard-Migration 0001_01_01_000000_create_users_table.php enthalten.
Routing (drei Routen)
Für die E-Mail-Verifizierung definieren Sie drei Routen:verification.notice, verification.verify und verification.send.
Route für den Verifizierungshinweis definieren (verification.notice)
Zeigt nicht verifizierten Benutzern den Bildschirm „Bitte prüfen Sie Ihre E-Mail”.
Route für den Verifizierungs-Handler definieren (verification.verify)
Verifiziert die signierte URL, wenn der Benutzer auf den Link in der E-Mail klickt, und schließt die Bestätigung ab.
Routen schützen
Um den Zugriff nur verifizierten Benutzern zu erlauben, verwenden Sie die Middlewareverified. In der Regel kombinieren Sie sie mit auth.
verification.notice weiter.
Anpassung
Um den Text der Bestätigungs-E-Mail anzupassen, konfigurieren SieVerifyEmail::toMailUsing in der boot-Methode Ihres AppServiceProvider.
Events
Bei der E-Mail-Verifizierung wird das EventIlluminate\Auth\Events\Verified ausgelöst. In Starter Kits wird es automatisch behandelt; bei einer manuellen Implementierung ergänzen Sie die Event-Behandlung nach Bedarf.