From dea86242fd7d2cc699e3ca328935d7f0f037a22c Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 15 Jan 2023 15:54:41 +0100 Subject: [PATCH] Add debug for https://github.com/firefly-iii/firefly-iii/issues/6831 --- app/Http/Middleware/Authenticate.php | 8 +++++--- app/Support/Authentication/RemoteUserGuard.php | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php index e296c4560b..31b05f4f04 100644 --- a/app/Http/Middleware/Authenticate.php +++ b/app/Http/Middleware/Authenticate.php @@ -89,11 +89,11 @@ class Authenticate { Log::debug(sprintf('Now in %s', __METHOD__)); if (0 === count($guards)) { - // Log::debug('No guards present.'); + Log::debug('No guards present.'); // go for default guard: /** @noinspection PhpUndefinedMethodInspection */ if ($this->auth->check()) { - // Log::debug('Default guard says user is authenticated.'); + Log::debug('Default guard says user is authenticated.'); // do an extra check on user object. /** @noinspection PhpUndefinedMethodInspection */ /** @var User $user */ @@ -103,16 +103,18 @@ class Authenticate return $this->auth->authenticate(); // @phpstan-ignore-line (thinks function returns void) } - // Log::debug('Guard array is not empty.'); + Log::debug('Guard array is not empty.'); foreach ($guards as $guard) { Log::debug(sprintf('Now in guard loop, guard is "%s"', $guard)); if ('api' !== $guard) { + Log::debug('Guard is "api", call authenticate()'); $this->auth->guard($guard)->authenticate(); } $result = $this->auth->guard($guard)->check(); Log::debug(sprintf('Result is %s', var_export($result, true))); if ($result) { + Log::debug('Guard says user is authenticated.'); $user = $this->auth->guard($guard)->user(); $this->validateBlockedUser($user, $guards); // According to PHPstan the method returns void, but we'll see. diff --git a/app/Support/Authentication/RemoteUserGuard.php b/app/Support/Authentication/RemoteUserGuard.php index b22453f967..a2ad6fcf44 100644 --- a/app/Support/Authentication/RemoteUserGuard.php +++ b/app/Support/Authentication/RemoteUserGuard.php @@ -81,6 +81,9 @@ class RemoteUserGuard implements Guard // Get the user identifier from $_SERVER or apache filtered headers $header = config('auth.guard_header', 'REMOTE_USER'); $userID = request()->server($header) ?? null; + + //$userID = 'james@firefly'; + if (function_exists('apache_request_headers')) { $userID = request()->server($header) ?? apache_request_headers()[$header] ?? null; } @@ -146,7 +149,7 @@ class RemoteUserGuard implements Guard public function hasUser(): bool { Log::debug(sprintf('Now at %s', __METHOD__)); - // TODO: Implement hasUser() method. + throw new FireflyException('Did not implement RemoteUserGuard::hasUser()'); } /**