Tutorial membuat fitur login, register, dan reset password di Laravel 13 menggunakan Laravel Breeze. Mudah, aman, dan siap pakai!
Membuat sistem autentikasi (Login, Register, Reset Password, dan Verifikasi Email) dari nol sering kali memakan waktu dan berisiko tinggi terhadap celah keamanan jika tidak ditangani dengan benar.
Di Laravel 13, tim pengembang menyediakan paket resmi bernama Laravel Breeze. Breeze menyediakan fondasi autentikasi yang ringan, aman, dan menggunakan tampilan Tailwind CSS yang siap kamu kustomisasi sesuai kebutuhan.
Artikel ini akan membimbingmu memasang dan menggunakan Laravel Breeze pada project Laravel 13 milikmu.
1. Persiapan Project & Database
Pastikan kamu sudah memiliki project Laravel 13 yang terhubung ke database MySQL di file .env:
Cuplikan kode
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_laravel13_auth
DB_USERNAME=root
DB_PASSWORD=
2. Meng-install Laravel Breeze
Buka terminal di root project kamu, lalu jalankan perintah Composer berikut untuk mengunduh ekosistem Breeze:
Bash
composer require laravel/breeze --dev
Setelah proses pengunduhan selesai, jalankan perintah instalasi Breeze:
Bash
php artisan breeze:install
Saat perintah ini dijalankan, terminal akan memberikan beberapa opsi pilihan stack tampilan:
Blade with Alpine (Rekomendasi Utama & Paling Simpel)
React with Inertia
Vue with Inertia
API only
Pilih Blade with Alpine, lalu ikuti petunjuk default untuk fitur pendukung (Dark Mode atau Testing Framework).
3. Jalankan Migration & Asset Compiler
Proses instalasi Breeze akan membuat file migration untuk tabel users, password_reset_tokens, dan sessions. Jalankan migrasi dan compile aset tampilan menggunakan perintah berikut:
Bash
# 1. Migrasi struktur tabel autentikasi ke database
php artisan migrate
# 2. Build aset frontend Tailwind CSS & JS
npm install
npm run dev
┌─────────────────────────────────────────────────────────────────────────┐
│ STRUKTUR FITUR AUTOMATIS BREEZE │
├────────────────────────────────┬────────────────────────────────────────┤
│ Rute & Halaman Siap Pakai │ Fitur Keamanan Bawaan │
├────────────────────────────────┼────────────────────────────────────────┤
│ • `/register` (Daftar Akun) │ • Hash Password (Bcrypt/Argon2) │
│ • `/login` (Masuk Sistem) │ • Proteksi CSRF & Rate Limiting │
│ • `/forgot-password` (Reset) │ • Middleware `auth` & `guest` │
│ • `/profile` (Edit Profil) │ • Verifikasi Email & Session Handling │
└────────────────────────────────┴────────────────────────────────────────┘
4. Memahami Middleware auth
Setiap kali kamu membuat halaman baru yang hanya boleh diakses oleh user yang sudah login (seperti halaman Dashboard atau Admin), gunakan Middleware auth pada file routes/web.php:
PHP
use App\Http\Controllers\DashboardController;
// Rute ini dilindungi middleware auth
Route::get('/dashboard', [DashboardController::class, 'index'])
->middleware(['auth', 'verified'])
->name('dashboard');
Sebaliknya, rute seperti halaman login dan register menggunakan Middleware guest agar user yang sudah login tidak bisa mengakses halaman daftar lagi secara tidak sengaja.
5. Menampilkan Data User yang Sedang Login
Di dalam file Blade View, kamu bisa dengan mudah mengambil informasi pengguna yang sedang masuk menggunakan helper auth() atau Auth::user():
HTML
<!-- Menampilkan Nama User yang Login -->
<h1>Selamat Datang, {{ auth()->user()->name }}!</h1>
<p>Email Kamu: {{ auth()->user()->email }}</p>
<!-- Tombol Logout -->
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit">Keluar / Logout</button>
</form>
Kesimpulan
Menggunakan Laravel Breeze pada Laravel 13 menghemat waktu pengembangan hingga puluhan jam. Kamu mendapatkan sistem autentikasi standar industri yang aman, rapi, dan mudah dimodifikasi tanpa perlu menulis logika keamanan dasar dari nol.
Selamat mencoba dan membangun sistem aplikasi yang aman dengan Laravel 13!
Ditulis oleh
Egi Samsul Mu'arif
Web & Mobile Developer



