From c40be5299c3a0d5dd70b130c3933aa1e3346e37d Mon Sep 17 00:00:00 2001 From: James Cole Date: Sat, 9 Sep 2017 22:02:20 +0200 Subject: [PATCH] Kernel middleware in separate commit. --- app/Http/Kernel.php | 193 +++--------------- app/Http/Middleware/EncryptCookies.php | 26 +-- .../Middleware/RedirectIfAuthenticated.php | 24 +-- app/Http/Middleware/TrimStrings.php | 18 ++ app/Http/Middleware/TrustProxies.php | 29 +++ 5 files changed, 86 insertions(+), 204 deletions(-) create mode 100644 app/Http/Middleware/TrimStrings.php create mode 100644 app/Http/Middleware/TrustProxies.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 5224ad8579..ecfa351e1d 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -1,62 +1,11 @@ [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - ], + protected $middlewareGroups = [ + 'web' => [ + \FireflyIII\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \FireflyIII\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], - - // MUST NOT be logged in. Does not care about 2FA or confirmation. - 'user-not-logged-in' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - RedirectIfAuthenticated::class, - ], - // MUST be logged in. - // MUST NOT have 2FA - // don't care about confirmation: - 'user-logged-in-no-2fa' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - RedirectIfTwoFactorAuthenticated::class, - ], - - // MUST be logged in - // don't care about 2fa - // don't care about confirmation. - 'user-simple-auth' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - ], - - // MUST be logged in - // MUST have 2fa - // MUST be confirmed. - // (this group includes the other Firefly middleware) - 'user-full-auth' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - AuthenticateTwoFactor::class, - Range::class, - Binder::class, - ], - // MUST be logged in - // MUST have 2fa - // MUST be confirmed. - // MUST have owner role - // (this group includes the other Firefly middleware) - 'admin' => [ - Sandstorm::class, - EncryptCookies::class, - AddQueuedCookiesToResponse::class, - StartFireflySession::class, - ShareErrorsFromSession::class, - VerifyCsrfToken::class, - SubstituteBindings::class, - Authenticate::class, - AuthenticateTwoFactor::class, - IsAdmin::class, - Range::class, - Binder::class, - ], - - - 'api' => [ - 'throttle:60,1', - 'bindings', - ], - ]; + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; /** * The application's route middleware. @@ -181,14 +50,12 @@ class Kernel extends HttpKernel * * @var array */ - protected $routeMiddleware - = [ - 'auth' => Authenticate::class, - 'auth.basic' => AuthenticateWithBasicAuth::class, - 'bindings' => SubstituteBindings::class, - 'can' => Authorize::class, - 'guest' => RedirectIfAuthenticated::class, - 'throttle' => ThrottleRequests::class, - 'range' => Range::class, - ]; + protected $routeMiddleware = [ + 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \FireflyIII\Http\Middleware\RedirectIfAuthenticated::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + ]; } diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php index 85188c9c17..02b03e6f73 100644 --- a/app/Http/Middleware/EncryptCookies.php +++ b/app/Http/Middleware/EncryptCookies.php @@ -1,33 +1,17 @@ check()) { - return redirect('/'); + return redirect('/home'); } return $next($request); diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000000..01aa1f52b2 --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ + 'FORWARDED', + Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', + Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', + Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', + Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', + ]; +}