Pada artikel sebelumnya kita telah mengetahui bagaimana cara membuat authentication pada Laravel dengan menggunakan package laravel/ui
. Pada Artikel ini akan membahas bagaimana cara menambahkan email verification pada Laravel.
Pada dasarnya Laravel telah menyediakan fitur untuk verifikasi email pengguna, akan tetapi kita harus mengaktifkannya secara manual.
Menambahkan Email Verification
Untuk menambahkan email verification pada Laravel berikut beberapa file yang harus kita ubah.
User Model
Pertama, kita harus memastikan bahwa model User yang digunakan untuk proses autentikasi sudah mengimplement Illuminate\Contracts\Auth\MustVerifyEmail
contract
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable implements MustVerifyEmail
{
use Notifiable;
// ...
}
Konfigurasi Email
Agar project kita bisa mengirim email, kita harus menambahkan konfigurasi email pada file .env di project kita. Pada contoh kali ini, kita akan menggunakan mailtrap.io untuk testing email.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=xxxxxxxxxxxx
MAIL_PASSWORD=xxxxxxxxxxxx
MAIL_ENCRYPTION=null
Silahkan sesuaikan dengan konfigurasi email yang akan kalian gunakan.
Routing
Laravel telah menyediakan Auth\VerificationController
class yang memiliki logic untuk mengirim link email verifikasi dan memverifikasi email. Seperti dibahas sebelumnya, proses verifikasi email tidak diaktifkan secara default, kita juga harus menambahkan option untuk mengaktifkannya pada route auth.
Auth::routes(['verify' => true]);
Setelah mengaktifkan fitur verification, cobalah untuk mendaftarkan user baru pada halaman register. Jika proses verification berhasil, kita akan mendapatkan email verification link pada email saat mendaftar.

Mengganti Redirect Url setelah verifikasi
Untuk mengganti redirect url setelah proses verifikasi, ubah property $redirectTo
pada class VerificationController ke url yang ingin kita tuju.
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
//
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = '/url-yang-dituju';
//
}
Setelah mengganti property $redirectTo
, user akan dibawa kehalaman yang dituju setelah pengguna klik pada link yang ada pada email mereka.
No Comments
Leave a comment Cancel