Implement login and logout using Laravel Breeze scaffolding or the Auth facade directly.
Authentication
// Laravel Breeze (simple auth scaffolding)
composer require laravel/breeze --dev
php artisan breeze:install blade
php artisan migrate && npm run dev
// Manual auth
use IlluminateSupportFacadesAuth;
if (Auth::attempt(["email" => $email, "password" => $pass])) {
$request->session()->regenerate();
return redirect()->intended("dashboard");
}
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
// Get current user
$user = Auth::user();
$user = auth()->user();
$id = auth()->id();
// Protect routes
Route::middleware("auth")->group(function () {
Route::get("/dashboard", [DashboardController::class, "index"]);
});
// Protect controllers
public function __construct() {
$this->middleware("auth");
$this->middleware("auth")->only(["create", "store"]);
}