From bb45eeeeba09bfd5ef7c948531f16df3a8ceac9a Mon Sep 17 00:00:00 2001 From: Leon Date: Wed, 18 Mar 2026 09:29:38 +0100 Subject: [PATCH] authenticate with cookie --- app/Http/Controllers/AuthController.php | 12 ++++------ .../Middleware/AuthenticateWithCookie.php | 24 +++++++++++++++++++ app/Providers/AppServiceProvider.php | 5 ---- bootstrap/app.php | 2 +- 4 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 app/Http/Middleware/AuthenticateWithCookie.php diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 44f92a0..9d3f5f3 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -33,8 +33,7 @@ class AuthController extends Controller return response()->json([ 'user' => new UserResource($user), - 'token' => $token, - ], 201); + ], 201)->cookie('token', $token, 60 * 24 * 30); } public function login(LoginRequest $request): JsonResponse @@ -49,14 +48,11 @@ class AuthController extends Controller ], 401); } - $token = $user->createToken('todos' - )->plainTextToken; + $token = $user->createToken('todos')->plainTextToken; return response()->json([ - 'token' => $token, - 'token_type' => 'Bearer', 'user' => new UserResource($user), - ]); + ])->cookie('token', $token, 60 * 24 * 30); } public function logout(): JsonResponse @@ -66,7 +62,7 @@ class AuthController extends Controller return response()->json([ 'message' => 'Déconnecté avec succès' - ]); + ])->withoutCookie('token'); } diff --git a/app/Http/Middleware/AuthenticateWithCookie.php b/app/Http/Middleware/AuthenticateWithCookie.php new file mode 100644 index 0000000..97109ff --- /dev/null +++ b/app/Http/Middleware/AuthenticateWithCookie.php @@ -0,0 +1,24 @@ +hasCookie('token')) { + $request->headers->set('Authorization', 'Bearer ' . $request->cookie('token')); + } + + return $next($request); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index ebc3eb4..58ae8f6 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -39,10 +39,5 @@ class AppServiceProvider extends ServiceProvider */ }); - Scramble::afterOpenApiGenerated(function (OpenApi $openApi) { - $openApi->secure( - SecurityScheme::http('bearer') - ); - }); } } diff --git a/bootstrap/app.php b/bootstrap/app.php index c3928c5..9db2488 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -12,7 +12,7 @@ return Application::configure(basePath: dirname(__DIR__)) health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { - // + $middleware->prepend(\App\Http\Middleware\AuthenticateWithCookie::class); }) ->withExceptions(function (Exceptions $exceptions): void { //