Laravel menyediakan fitur email verification bawaan yang aman dan fleksibel. Proses ini membantu memastikan bahwa hanya pengguna dengan email valid yang bisa mengakses sistem.


🎯 Tujuan Part 8


⚙️ 1. Pastikan Laravel Breeze Aktif

Jika belum install autentikasi Laravel:

composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate

✅ 2. Tambahkan Fitur Verifikasi Email

Laravel menggunakan trait MustVerifyEmail.

a. Update User.php:

use Illuminate\Contracts\Auth\MustVerifyEmail;

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

b. Update Route Group (web.php):

Pastikan dashboard atau halaman utama dilindungi oleh middleware verified:

Route::middleware(['auth', 'verified'])->group(function () {
    Route::get('/dashboard', function () {
        return view('dashboard');
    })->name('dashboard');
});

📬 3. Pengiriman Link Otomatis

Setelah user mendaftar, Laravel akan secara otomatis mengirim link verifikasi ke email yang didaftarkan.

Kamu bisa mengetes dengan mendaftarkan user dan memeriksa email melalui log (atau Mailtrap, SMTP, dll).


📨 4. Cek Status Verifikasi

Di halaman dashboard atau profil:

@if (!Auth::user()->hasVerifiedEmail())
  <p>Email Anda belum diverifikasi. <a href="{{ route('verification.notice') }}">Klik di sini untuk kirim ulang</a></p>
@endif

Laravel otomatis menyediakan route untuk:


🔒 5. Middleware verified

Jangan lupa hanya izinkan user terverifikasi mengakses fitur penting:

Route::middleware(['auth', 'verified'])->group(function () {
    Route::get('/produk', [ProdukController::class, 'index']);
});

📧 6. Konfigurasi Mail

Pastikan .env sudah dikonfigurasi:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_mailtrap_user
MAIL_PASSWORD=your_mailtrap_pass
MAIL_FROM_ADDRESS=no-reply@yourdomain.com
MAIL_FROM_NAME="Nama Aplikasi"

Gunakan Mailtrap, Gmail SMTP, atau layanan seperti Mailgun/Ses.


🧠 Best Practice Email Verification

AspekRekomendasi
Middleware verifiedPastikan semua fitur penting dilindungi
Email resend protectionLaravel otomatis batasi pengiriman email verifikasi
Status UITampilkan peringatan jika belum verifikasi
Email validasiGunakan DNS validator bila perlu

🧰 Elektra Network Vision – Pakar Sistem Laravel & Email Otentikasi

Kami bantu Anda:

🌐 elektranetworkvision.com — Solusi Laravel profesional dan aman untuk bisnis Anda.

Leave a Reply

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