<?php
namespace App\Http\Middleware;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class AuthenticateApiMiddleware extends Middleware
{
public function handle($request, Closure $next, ...$guards)
{
return parent::handle($request, $next, $guards);
}
protected function authenticate($request, array $guards)
{
$token = $request->bearerToken();
if ($token === 'aaabbbccc') return;
$this->unauthenticated($request, $guards);
}
}
{
error: 'error1'
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class AuthenticateApiMiddleware extends Middleware
{
public function handle($request, Closure $next, ...$guards)
{
return parent::handle($request, $next, $guards);
}
protected function authenticate($request, array $guards)
{
$token = $request->bearerToken();
if ($token === 'aaabbbccc') return;
$this->unauthenticated($request, $guards);
}
protected function unauthenticated($request, array $guards)
{
parent::unauthenticated($request, $guards); // TODO: Change the autogenerated stub
}
}
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::middleware('auth_api')->get('/array', function (Request $request) {
$x = [
'a' => 3,
'b' => 2,
];
return $x;
});
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth_api' => AuthenticateApiMiddleware::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
'signed' => \App\Http\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
];
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class AuthenticateApiMiddleware extends Middleware
{
public function handle($request, Closure $next, ...$guards)
{
$request->headers->set('Accept', 'application/json');
return parent::handle($request, $next, $guards);
}
protected function authenticate($request, array $guards)
{
$token = $request->bearerToken();
if ($token === 'aaabbbccc') return;
$this->unauthenticated($request, $guards);
}
}
protected $middlewarePriority = [
];
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,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
'json_responce' => JsonResponceMiddleware::class,
'auth_api' => AuthenticateApiMiddleware::class,
],
];
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Middleware\JsonResponceMiddleware;
Route::middleware('api')->group(function () {
Route::get('/array', function (Request $request) {
$x = [
'a' => 3,
'b' => 2,
];
return $x;
});
});