Mengenal Auth Dasar Laravel dengan Laravel UI dan Breeze
Autentikasi adalah proses verifikasi identitas pengguna sebelum mengakses bagian tertentu dari aplikasi. Laravel menyediakan sistem authentication yang lengkap dan fleksibel untuk menangani fitur seperti:
- Registrasi pengguna
- Login dan Logout
- Proteksi halaman
- Reset password (opsional)
- Verifikasi email (opsional)
Untuk mempermudah implementasi autentikasi dasar, Laravel menyediakan paket scaffolding seperti Laravel UI dan Laravel Breeze.
Perbedaan Laravel UI vs Laravel Breeze
Berikut ringkasnya:
FiturLaravel UILaravel BreezeSDKDashboard UI klasikTailwind CSS + BladeFrontendBootstrap / Vue / ReactTailwind (Blade/React/Vue/Inertia)Cocok untukProject tradisionalProject modernInstalasiEksternalEksternalTersedia reset passwordYaYa
Laravel UI lebih cocok untuk kebutuhan klasik berbasis Bootstrap, sedangkan Breeze lebih modern dan ringan.
1. Autentikasi Menggunakan Laravel UI
Instalasi Laravel UI
Jalankan perintah berikut:
composer require laravel/ui
Generate UI Auth
Gunakan Bootstrap:
php artisan ui bootstrap --auth
Kemudian install dependencies frontend:
npm install && npm run dev
Migrasi database
Pastikan database sudah terkoneksi di .env, lalu jalankan:
php artisan migrate
Hasil
Paket Laravel UI akan menyediakan:
- Halaman login
- Halaman register
- Middleware auth
- Controller login/register
- View Blade berbasis Bootstrap
Cocok untuk aplikasi panel admin tradisional.
2. Autentikasi Menggunakan Laravel Breeze
Laravel Breeze lebih ringan dan simple dengan Tailwind CSS.
Instalasi Laravel Breeze
composer require laravel/breeze --dev
Generate Scaffolding
Gunakan Blade (paling sederhana):
php artisan breeze:install
Tersedia juga opsi:
- React
- Vue
- API (tanpa view)
Contoh React:
php artisan breeze:install react
Install dependencies frontend
npm install npm run dev
Migrasi database
php artisan migrate
Hasil
Laravel Breeze menyediakan fitur:
✔ Login
✔ Register
✔ Reset Password
✔ Email Verification
✔ Logout
Dengan tampilan clean menggunakan Tailwind CSS.
Proteksi Halaman dengan Auth Middleware
Laravel menyediakan auth middleware untuk membatasi akses.
Contoh route:
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware('auth');
Jika user belum login, maka akan diarahkan ke halaman login.
Redirect Setelah Login
Secara default, Breeze mengarah ke /dashboard
Jika ingin mengubah, buka file:
app/Providers/RouteServiceProvider.php
Ubah:
public const HOME = '/profile';
Logout Pengguna
Laravel sudah menyediakan route logout sebagai POST:
<form action="/logout" method="POST">
@csrf
<button type="submit">Logout</button>
</form>
Contoh Login Manual Menggunakan Auth Facade
Di Controller:
use IlluminateSupportFacadesAuth;
public function login(Request $request)
{
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/dashboard');
}
return back()->withErrors([
'email' => 'Email atau password salah.',
]);
}
Validasi Register Sederhana
$request->validate([
'name' => 'required|string|max:50',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:6|confirmed'
]);
Field password_confirmation wajib ada jika memakai rule confirmed.
Keuntungan Menggunakan Auth Dasar Laravel
Beberapa kelebihannya yaitu:
- Proses setup cepat
- Sudah termasuk middleware proteksi
- Dukungan email verification dan reset password
- Integrasi session dan CSRF protection
- Kompatibel dengan API melalui Laravel Sanctum
Kesimpulan
Laravel menyediakan mekanisme autentikasi dasar yang powerful melalui paket Laravel UI dan Breeze. Kedua paket ini mempercepat proses setup login, register, dan proteksi halaman aplikasi tanpa perlu menulis kode autentikasi dari awal.
- Laravel UI cocok untuk aplikasi berbasis Bootstrap
- Laravel Breeze cocok untuk aplikasi modern berbasis Tailwind
Dengan memahami konsep autentikasi dasar, developer dapat membangun sistem login yang aman, efisien, dan mudah diintegrasikan ke fitur selanjutnya.
Yuk lanjut baca juga: Middleware Laravel dan Penggunaannya dalam Mengelola Akses