Laravel dikenal sebagai framework PHP paling populer karena fitur lengkap, keamanan tinggi, dan dokumentasi yang mudah dipahami. Salah satu fitur yang paling sering dipakai pada aplikasi web adalah sistem autentikasi (login & register).
Pada artikel ini, kamu akan mempelajari cara membuat sistem login & register modern menggunakan Laravel 10+ dengan pendekatan yang aman dan best practice.
Mengapa Perlu Menggunakan Autentikasi Laravel?
Laravel menyediakan fitur autentikasi bawaan yang sangat kuat karena:
- Sudah include hashing password (bcrypt atau argon2)
- Token CSRF otomatis
- Validasi input bawaan
- Middleware untuk proteksi route
- Manajemen session yang aman
- Dapat di-upgrade ke Laravel Breeze/Jetstream/Fortify
Dengan kata lain, kamu tidak perlu membuat sistem login dari nol.
Langkah 1: Install Laravel
Pertama, pastikan Composer sudah terinstall.
Kemudian jalankan:
composer create-project laravel/laravel loginapp
cd loginapp
Langkah 2: Install Laravel Breeze (Autentikasi Modern)
Laravel Breeze adalah paket autentikasi simple dan clean—cocok untuk pemula & production.
Install:
composer require laravel/breeze --dev
php artisan breeze:install
Untuk versi blade:
php artisan breeze:install blade
Untuk frontend modern (Vue/React), pilih:
php artisan breeze:install vue
php artisan breeze:install react
Setelah selesai:
npm install
npm run dev
php artisan migrate
Kini Laravel otomatis menyediakan:
- /login
- /register
- /forgot-password
- /dashboard
Struktur Folder Breeze
Setelah instalasi, kamu akan melihat folder:
resources/views/auth/
resources/views/layouts/
app/Http/Controllers/Auth/
Yang berisi file login, register, reset password, dan konfigurasi autentikasi.
Langkah 3: Konfigurasi Database
Atur file .env:
DB_DATABASE=loginapp
DB_USERNAME=root
DB_PASSWORD=
Lalu migrate:
php artisan migrate
Laravel akan membuat tabel:
- users
- password_reset_tokens
- sessions
- failed_jobs
Langkah 4: Membuat Halaman Dashboard yang Dilindungi
Tambahkan route:
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware(['auth'])->name('dashboard');
Route ini hanya bisa diakses oleh user yang sudah login.
Jika belum login → otomatis redirect ke /login.
Langkah 5: Validasi Form Register
File validasi berada di:
app/Http/Controllers/Auth/RegisteredUserController.php
Contoh validasi:
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'confirmed', 'min:8'],
]);
Laravel otomatis:
- mengecek email unik
- hashing password
- membuat user baru
Langkah 6: Melindungi Halaman dengan Middleware Auth
Contoh proteksi:
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit']);
});
Jika user belum login → akan diarahkan ke halaman login.
Langkah 7: Logout
Breeze sudah menyediakan route logout:
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy'])
->middleware('auth')
->name('logout');
Tinggal gunakan form:
<form method="POST" action="{{ route('logout') }}">
@csrf
<button type="submit">Logout</button>
</form>
Kenapa Menggunakan Laravel Breeze?
- ringan
- simple
- cocok pemula & menengah
- mudah di-custom
- mudah scale ke Fortify / Jetstream jika aplikasi membesar
Bonus: Tips Keamanan Login Laravel
Agar aplikasi lebih aman:
✔ 1. Gunakan hashing Argon2
Di config/hashing.php:
'driver' => 'argon2id',
✔ 2. Limit login attempts
Laravel sudah menyediakan throttle login untuk mencegah brute force.
✔ 3. Aktifkan Email Verification
Cukup jalankan:
php artisan make:auth
atau aktifkan di route:
['verify' => true]
✔ 4. Gunakan HTTPS
SSL sangat penting untuk melindungi token session.
Kesimpulan
Membuat sistem login dan register di Laravel sangat mudah berkat Laravel Breeze yang sudah menyediakan:
- tampilan UI siap pakai
- validasi lengkap
- hashing password
- session & middleware
- halaman dashboard yang aman
Dengan beberapa command, aplikasi kamu sudah memiliki autentikasi lengkap yang bisa digunakan untuk proyek real.
Lihat Artikel Lainnya:
🔥 Cara Membuat CRUD Laravel
🔥 Cara Membuat API Laravel + JWT
🔥 Cara Deploy Laravel ke VPS / AWS / CyberPanel
🔥 Cara Membuat Middleware di Laravel
🔥 Cara Membuat CMS Sederhana dengan Laravel