1. Laravel
  2. PHP

Menambahkan email verification Laravel

This entry is part 2 of 6 in the series Laravel Authentication

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.

Laravel Verifikasi Email

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.

Series Navigation<< Membuat fitur Authentication pada LaravelMemodifikasi Halaman Register Laravel >>
Comments to: Menambahkan email verification Laravel

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

    Attach images - Only PNG, JPG, JPEG and GIF are supported.