authenticate with cookie
This commit is contained in:
parent
518786f91c
commit
bb45eeeeba
|
|
@ -33,8 +33,7 @@ class AuthController extends Controller
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'user' => new UserResource($user),
|
'user' => new UserResource($user),
|
||||||
'token' => $token,
|
], 201)->cookie('token', $token, 60 * 24 * 30);
|
||||||
], 201);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function login(LoginRequest $request): JsonResponse
|
public function login(LoginRequest $request): JsonResponse
|
||||||
|
|
@ -49,14 +48,11 @@ class AuthController extends Controller
|
||||||
], 401);
|
], 401);
|
||||||
}
|
}
|
||||||
|
|
||||||
$token = $user->createToken('todos'
|
$token = $user->createToken('todos')->plainTextToken;
|
||||||
)->plainTextToken;
|
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'token' => $token,
|
|
||||||
'token_type' => 'Bearer',
|
|
||||||
'user' => new UserResource($user),
|
'user' => new UserResource($user),
|
||||||
]);
|
])->cookie('token', $token, 60 * 24 * 30);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function logout(): JsonResponse
|
public function logout(): JsonResponse
|
||||||
|
|
@ -66,7 +62,7 @@ class AuthController extends Controller
|
||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Déconnecté avec succès'
|
'message' => 'Déconnecté avec succès'
|
||||||
]);
|
])->withoutCookie('token');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -39,10 +39,5 @@ class AppServiceProvider extends ServiceProvider
|
||||||
*/
|
*/
|
||||||
});
|
});
|
||||||
|
|
||||||
Scramble::afterOpenApiGenerated(function (OpenApi $openApi) {
|
|
||||||
$openApi->secure(
|
|
||||||
SecurityScheme::http('bearer')
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ return Application::configure(basePath: dirname(__DIR__))
|
||||||
health: '/up',
|
health: '/up',
|
||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware): void {
|
->withMiddleware(function (Middleware $middleware): void {
|
||||||
//
|
$middleware->prepend(\App\Http\Middleware\AuthenticateWithCookie::class);
|
||||||
})
|
})
|
||||||
->withExceptions(function (Exceptions $exceptions): void {
|
->withExceptions(function (Exceptions $exceptions): void {
|
||||||
//
|
//
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue