Re-register middleware

This commit is contained in:
Lance Pioch 2024-03-19 20:38:01 -04:00
parent 0ce1739b9f
commit dcdfd2cea9
4 changed files with 38 additions and 104 deletions

View File

@ -1,101 +0,0 @@
<?php
namespace App\Http;
use Illuminate\Auth\Middleware\Authorize;
use Illuminate\Http\Middleware\HandleCors;
use Illuminate\Auth\Middleware\Authenticate;
use Illuminate\Http\Middleware\TrustProxies;
use App\Http\Middleware\TrimStrings;
use Illuminate\Session\Middleware\StartSession;
use App\Http\Middleware\EncryptCookies;
use App\Http\Middleware\Api\IsValidJson;
use App\Http\Middleware\VerifyCsrfToken;
use App\Http\Middleware\VerifyReCaptcha;
use Illuminate\Routing\Middleware\ThrottleRequests;
use App\Http\Middleware\LanguageMiddleware;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
use Illuminate\Routing\Middleware\SubstituteBindings;
use App\Http\Middleware\Activity\TrackAPIKey;
use Illuminate\Session\Middleware\AuthenticateSession;
use Illuminate\View\Middleware\ShareErrorsFromSession;
use App\Http\Middleware\MaintenanceMiddleware;
use App\Http\Middleware\EnsureStatefulRequests;
use App\Http\Middleware\RedirectIfAuthenticated;
use Illuminate\Auth\Middleware\AuthenticateWithBasicAuth;
use App\Http\Middleware\Api\AuthenticateIPAccess;
use Illuminate\Foundation\Http\Middleware\ValidatePostSize;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
use App\Http\Middleware\Api\Daemon\DaemonAuthenticate;
use App\Http\Middleware\Api\Client\RequireClientApiKey;
use App\Http\Middleware\RequireTwoFactorAuthentication;
use Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull;
use App\Http\Middleware\Api\Client\SubstituteClientBindings;
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance;
use App\Http\Middleware\Api\Application\AuthenticateApplicationUser;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*/
protected $middleware = [
TrustProxies::class,
HandleCors::class,
PreventRequestsDuringMaintenance::class,
ValidatePostSize::class,
TrimStrings::class,
ConvertEmptyStringsToNull::class,
];
/**
* The application's route middleware groups.
*/
protected $middlewareGroups = [
'web' => [
EncryptCookies::class,
AddQueuedCookiesToResponse::class,
StartSession::class,
ShareErrorsFromSession::class,
VerifyCsrfToken::class,
SubstituteBindings::class,
LanguageMiddleware::class,
],
'api' => [
EnsureStatefulRequests::class,
'auth:sanctum',
IsValidJson::class,
TrackAPIKey::class,
RequireTwoFactorAuthentication::class,
AuthenticateIPAccess::class,
],
'application-api' => [
SubstituteBindings::class,
AuthenticateApplicationUser::class,
],
'client-api' => [
SubstituteClientBindings::class,
RequireClientApiKey::class,
],
'daemon' => [
SubstituteBindings::class,
DaemonAuthenticate::class,
],
];
/**
* The application's route middleware.
*/
protected $middlewareAliases = [
'auth' => Authenticate::class,
'auth.basic' => AuthenticateWithBasicAuth::class,
'auth.session' => AuthenticateSession::class,
'guest' => RedirectIfAuthenticated::class,
'csrf' => VerifyCsrfToken::class,
'throttle' => ThrottleRequests::class,
'can' => Authorize::class,
'bindings' => SubstituteBindings::class,
'recaptcha' => VerifyReCaptcha::class,
'node.maintenance' => MaintenanceMiddleware::class,
];
}

View File

@ -4,10 +4,10 @@ namespace App\Providers;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Models\Database; use App\Models\Database;
use Illuminate\Foundation\Http\Middleware\TrimStrings;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\RateLimiter;
use App\Http\Middleware\TrimStrings;
use App\Http\Middleware\AdminAuthenticate; use App\Http\Middleware\AdminAuthenticate;
use App\Http\Middleware\RequireTwoFactorAuthentication; use App\Http\Middleware\RequireTwoFactorAuthentication;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;

View File

@ -14,7 +14,42 @@ return Application::configure(basePath: dirname(__DIR__))
health: '/up', health: '/up',
) )
->withMiddleware(function (Middleware $middleware) { ->withMiddleware(function (Middleware $middleware) {
// $middleware->redirectGuestsTo(fn () => route('login'));
$middleware->web(\App\Http\Middleware\LanguageMiddleware::class);
$middleware->api([
\App\Http\Middleware\EnsureStatefulRequests::class,
'auth:sanctum',
\App\Http\Middleware\Api\IsValidJson::class,
\App\Http\Middleware\Activity\TrackAPIKey::class,
\App\Http\Middleware\RequireTwoFactorAuthentication::class,
\App\Http\Middleware\Api\AuthenticateIPAccess::class,
]);
$middleware->group('application-api', [
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Api\Application\AuthenticateApplicationUser::class,
]);
$middleware->group('client-api', [
\App\Http\Middleware\Api\Client\SubstituteClientBindings::class,
\App\Http\Middleware\Api\Client\RequireClientApiKey::class,
]);
$middleware->group('daemon', [
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Api\Daemon\DaemonAuthenticate::class,
]);
$middleware->replaceInGroup('web', \Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class, \App\Http\Middleware\VerifyCsrfToken::class);
$middleware->alias([
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'node.maintenance' => \App\Http\Middleware\MaintenanceMiddleware::class,
'recaptcha' => \App\Http\Middleware\VerifyReCaptcha::class,
]);
}) })
->withExceptions(function (Exceptions $exceptions) { ->withExceptions(function (Exceptions $exceptions) {
// //

View File

@ -6,7 +6,7 @@ use Mockery as m;
use Mockery\MockInterface; use Mockery\MockInterface;
use Illuminate\Auth\AuthManager; use Illuminate\Auth\AuthManager;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use App\Http\Middleware\RedirectIfAuthenticated; use Illuminate\Auth\Middleware\RedirectIfAuthenticated;
class RedirectIfAuthenticatedTest extends MiddlewareTestCase class RedirectIfAuthenticatedTest extends MiddlewareTestCase
{ {