Skip to content

Commit d95acf4

Browse files
committed
update
1 parent 6a9ddfc commit d95acf4

File tree

6 files changed

+68
-7
lines changed

6 files changed

+68
-7
lines changed

app/Http/Kernel.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class Kernel extends HttpKernel
4343

4444
'api' => [
4545
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
46-
\App\Http\Middleware\AttachAccessTokenFromCookie::class,
46+
\App\Http\Middleware\AttachAccessTokenFromCookieUser::class,
4747
\Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
4848
\Illuminate\Routing\Middleware\SubstituteBindings::class,
4949

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace App\Http\Middleware;
4+
5+
use Closure;
6+
use Illuminate\Http\Request;
7+
8+
class AttachAccessTokenFromCookieDelivery
9+
{
10+
11+
public function handle(Request $request, Closure $next)
12+
{
13+
// 1. Vérifier si l'en-tête Authorization est déjà présent (pour ne pas écraser)
14+
if (!$request->headers->has('Authorization') && $request->cookie('accessTokenDelivery')) {
15+
16+
// 2. Lire le token depuis le cookie 'accessToken'
17+
$accessToken = $request->cookie('accessTokenDelivery');
18+
19+
// 3. Injecter le token dans l'en-tête Authorization au format Bearer
20+
$request->headers->set('Authorization', 'Bearer ' . $accessToken);
21+
}
22+
23+
return $next($request);
24+
}
25+
}

app/Http/Middleware/AttachAccessTokenFromCookie.php renamed to app/Http/Middleware/AttachAccessTokenFromCookieUser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use Closure;
66
use Illuminate\Http\Request;
77

8-
class AttachAccessTokenFromCookie
8+
class AttachAccessTokenFromCookieUser
99
{
1010

1111
public function handle(Request $request, Closure $next)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace App\Http\Middleware;
4+
5+
use Closure;
6+
use Illuminate\Http\Request;
7+
8+
class AttachAccessTokenFromCookieSeller
9+
{
10+
11+
public function handle(Request $request, Closure $next)
12+
{
13+
// 1. Vérifier si l'en-tête Authorization est déjà présent (pour ne pas écraser)
14+
if (!$request->headers->has('Authorization') && $request->cookie('accessTokenSeller')) {
15+
16+
// 2. Lire le token depuis le cookie 'accessToken'
17+
$accessToken = $request->cookie('accessTokenSeller');
18+
19+
// 3. Injecter le token dans l'en-tête Authorization au format Bearer
20+
$request->headers->set('Authorization', 'Bearer ' . $accessToken);
21+
}
22+
23+
return $next($request);
24+
}
25+
}

app/Http/Middleware/Authenticate.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,19 @@ class Authenticate extends Middleware
1212
*/
1313
protected function redirectTo(Request $request): ?string
1414
{
15-
if (!$request->expectsJson()) {
16-
abort(401, 'Unauthenticated');
17-
}
15+
// ⭐️ CORRECTION ⭐️
16+
17+
// Si la requête NE s'attend PAS à une réponse JSON,
18+
// nous retournons la route de connexion par défaut.
19+
if (! $request->expectsJson()) {
20+
return route('login'); // Assurez-vous d'avoir une route 'login' nommée
21+
}
22+
23+
// Si la requête s'attend à du JSON (c'est-à-dire une requête API),
24+
// nous retournons NULL.
25+
// C'est le comportement attendu pour une API.
26+
// Laravel va alors lever l'exception d'authentification qui est interceptée
27+
// par le gestionnaire d'exceptions et transformée en réponse JSON 401.
28+
return null;
1829
}
19-
}
30+
}

routes/api.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@
204204
Route::post("/delivery/update/docs",[UpdateDeliveryController::class,'updateDocuments']);
205205
});
206206

207-
Route::middleware(['auth:api', 'scopes:seller'])->prefix('v1')->group(function () {
207+
Route::middleware(['auth_seller','auth:api', 'scopes:seller'])->prefix('v1')->group(function () {
208208
Route::get('/current/seller', [CurrentSellerController::class, 'currentSeller']);
209209
Route::post('update/seller',[CurrentSellerController::class,'updateSeller']);
210210
Route::get('/seller/notifications',[ListNotificationController::class,'list']);

0 commit comments

Comments
 (0)