I Have two project of laravel and one of them have sanctum.and I wrote a middleware for another laravel project.
My middlware:
$url = 'http://localhost/v1/management/auth/me';
$suepackAuth = Http::withToken(
ltrim($request->header('Authorization'),'Bearer ')
)->withHeaders(['Accept' => 'application/json', 'secret' => '65dsa156sda15dsa1dsa65'])->get($url);
echo ($suepackAuth->body());
if (!$suepackAuth->ok())
throw new AuthenticationException();
// auth()->login();
return $next($request);
when I excute upper code response unauthorize
but when I call with postman call http://localhost/v1/management/auth/me
, worked fine.
for more description
when i start project with php artisan serve
and set $url
127.0.0.1:8000 or localhost:8000 my microservice work.
Kernel project in localhost:
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array<int, class-string|string>
*/
protected $middleware = [
// \App\Http\Middleware\TrustHosts::class,
\App\Http\Middleware\TrustProxies::class,
\Illuminate\Http\Middleware\HandleCors::class,
// \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
/**
* The application's route middleware groups.
*
* @var array<string, array<int, class-string|string>>
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
];