Выход пользователя в Laravel
Выход - это не просто «забыть» пользователя в коде. Нужно снять авторизацию, уничтожить данные сессии и выдать новый CSRF-токен, чтобы старая вкладка не могла отправить форму от имени уже вышедшего человека.
Маршрут обычно делают через
POST - так безопаснее,
чем выход по обычной ссылке
GET:
<?php
use App\Http\Controllers\AuthController;
Route::post('/logout', [AuthController::class, 'logout']);
?>
В контроллере:
<?php
public function logout(Request $request)
{
Auth::logout();
$request->session()->invalidate();
$request->session()->regenerateToken();
return redirect('/');
}
?>
Сделайте маршрут POST /logout
и кнопку-форму выхода в шаблоне.
В методе logout вызовите
Auth::logout, затем
invalidate и
regenerateToken.