Menambahkan Verifikasi Email Pendaftaran Laravel

Pada tutorial sebelumnya kita telah membuat autentikasi login di laravel, nah sekarang ini adalah tutorial lanjutan, yaitu menambahkan verifikasi email pendaftaran laravel. Skenarionya adalah pada saat user mendaftar melalui form pendaftaran yang sudah dibuat menggunakan Auth bawaan laravel maka user diwajibkan untuk melakukan verifikasi email.

Apabila user tidak melakukan verifikasi email maka pada saat login akan ditolak masuk ke dalam halaman admin laravel, namun pada saat user mendaftar jika sebelumnya user langsung masuk ke halaman admin setelah selesai pendaftaran maka sekarang user akan dihadapkan ke halaman verifikasi email.

Integrasi Email SMTP

Karena saat ini kita sedang membahas verifikasi email maka kita membutuhkan sebuah SMTP, saat ini penulis menggunakan Mailtrap.io, jika kamu memiliki SMTP sendiri silahkan digunakan, jika tidak ada SMTP bisa mendaftar terlebih dahulu, tapi yang perlu di ingat Mailtrap.io ini hanya untuk pengembangan, tidak bisa digunakan di production.

Jika kamu sudah mendaftar Mailtrap silahkan klik Demo Inbox, lalu pada bagian SMTP Settings klik Show Credentials maka akan muncul seperti dibawah ini.

Konfigurasi Mailtrap

Jika sudah buka file .env di projek belajar laravel yang sudah dibuat pada tutorial sebelumnya yaitu membuat autentikasi login di laravel. Lalu pada bagian dibawah ini.

MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null

Ubah menjadi seperti dibawah ini sesuai dengan credentials Mailtrap yang sudah anda daftar tadi.

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=a379aebfd8ae9b
MAIL_PASSWORD=4f483c6328c391
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=laravel@app.com

Verifikasi Email Pendaftaran

Untuk membuat verifikasi email pendaftaran sangat mudah sekali, anda hanya perlu memanggil library yang sudah tersedia di laravel. Pertama bukalah file User.php di folder app/Models, lalu pada baris kode dibawah ini.

class User extends Authenticatable
{
    ....
}

Ubahlah menjadi kode dibawah ini.

class User extends Authenticatable implements MustVerifyEmail
{
    ....
}

Jika sudah selanjutnya buka file web.php yang ada di folder routes/web.php, lalu ubah kode dibawah ini.

Auth::routes();

Menjadi seperti kode dibawah ini.

Auth::routes(['verify' => true]);

Lalu yang terakhir buka file HomeController.php yang ada di folder app/Http/Controllers/ selanjutnya pada bagian kode dibawah ini.

$this->middleware('auth');

Ubahlah menjadi seperti dibawah ini.

$this->middleware(['auth', 'verified']);

Selanjutnya coba kalian mendaftar melalui halaman pendaftaran yang sudah dibuat menggunakan Auth pada tutorial sebelumnya. Apabila sudah melakukan pendaftaran maka anda akan di arahkan ke halaman pemberitahuan bahwa harus melakukan verifikasi email seperti pada gambar dibawah ini.

verifikasi email pendaftaran laravel

Dan di email kalian tentunya akan mendapatkan email baru terkait verfikasi email seperti pada gambar dibawah ini.

verifikasi email pendaftaran laravel

Silahkan lakukan verifikasi, karena apabila tidak melakukan verifikasi tentunya anda akan tetap diarahkan ke halaman peringatan verifikasi email.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.