authenticate with cookie
Laravel CI-CD (Gitea) / Tests Unitaires (push) Successful in 16s Details
Laravel CI-CD (Gitea) / Build & Push Docker (push) Successful in 25s Details
Laravel CI-CD (Gitea) / Déploiement Simplifié (push) Successful in 1s Details

This commit is contained in:
Leon 2026-03-18 09:29:38 +01:00
parent 518786f91c
commit bb45eeeeba
4 changed files with 29 additions and 14 deletions

View File

@ -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');
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class AuthenticateWithCookie
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if ($request->hasCookie('token')) {
$request->headers->set('Authorization', 'Bearer ' . $request->cookie('token'));
}
return $next($request);
}
}

View File

@ -39,10 +39,5 @@ class AppServiceProvider extends ServiceProvider
*/
});
Scramble::afterOpenApiGenerated(function (OpenApi $openApi) {
$openApi->secure(
SecurityScheme::http('bearer')
);
});
}
}

View File

@ -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 {
//