diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 52069ec..a0494fb 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -4,10 +4,11 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; +use \Illuminate\Http\JsonResponse; class AuthController extends Controller { - public function login(Request $request): \Illuminate\Http\JsonResponse + public function login(Request $request): JsonResponse { $credentials = $request->validate([ 'email' => ['required','email'], @@ -22,4 +23,14 @@ class AuthController extends Controller return response()->json(['message' => 'ok']); } + public function logout(Request $request): JsonResponse + { + + Auth::guard('web')->logout(); + $request->session()->invalidate(); + $request->session()->regenerateToken(); + + return response()->json(['message' => 'ok']); + + } } diff --git a/routes/api.php b/routes/api.php index 52885e8..59bfe1a 100644 --- a/routes/api.php +++ b/routes/api.php @@ -13,4 +13,6 @@ Route::post("/users/register", [UserController::class, "create"]); Route::middleware('web')->post('/users/login', [AuthController::class, 'login']); +Route::middleware(['web', 'auth:sanctum'])->post('/users/logout', [AuthController::class, 'logout']); + Route::middleware(['web', 'auth'])->get('/me', fn (Request $r) => $r->user()); diff --git a/tests/Create user.bru b/tests/Create user.bru index 6352f4f..f9cb1d2 100644 --- a/tests/Create user.bru +++ b/tests/Create user.bru @@ -1,7 +1,7 @@ meta { name: Create user type: http - seq: 4 + seq: 6 } post { diff --git a/tests/Login.bru b/tests/Login.bru index 6a9e442..92f1c6d 100644 --- a/tests/Login.bru +++ b/tests/Login.bru @@ -1,7 +1,7 @@ meta { name: Login type: http - seq: 4 + seq: 7 } post { diff --git a/tests/get CSRF.bru b/tests/get CSRF.bru index 423fdb4..00ce883 100644 --- a/tests/get CSRF.bru +++ b/tests/get CSRF.bru @@ -1,7 +1,7 @@ meta { name: get CSRF type: http - seq: 3 + seq: 4 } get { diff --git a/tests/hello.bru b/tests/hello.bru index 4225161..05ee333 100644 --- a/tests/hello.bru +++ b/tests/hello.bru @@ -1,7 +1,7 @@ meta { name: hello type: http - seq: 2 + seq: 3 } get {