diff --git a/src/app/Http/Controllers/API/V4/NGINXController.php b/src/app/Http/Controllers/API/V4/NGINXController.php --- a/src/app/Http/Controllers/API/V4/NGINXController.php +++ b/src/app/Http/Controllers/API/V4/NGINXController.php @@ -125,6 +125,11 @@ $username = $this->normalizeUsername($request->headers->get('Php-Auth-User', "")); $password = $request->headers->get('Php-Auth-Pw', null); + if (empty($username)) { + //Allow unauthenticated requests + return response(""); + } + if (empty($password)) { \Log::debug("Authentication attempt failed: Empty password provided."); return response("", 401); diff --git a/src/tests/Feature/Controller/NGINXTest.php b/src/tests/Feature/Controller/NGINXTest.php --- a/src/tests/Feature/Controller/NGINXTest.php +++ b/src/tests/Feature/Controller/NGINXTest.php @@ -210,7 +210,7 @@ $john = $this->getTestUser('john@kolab.org'); $response = $this->get("api/webhooks/nginx-httpauth"); - $response->assertStatus(401); + $response->assertStatus(200); $pass = \App\Utils::generatePassphrase(); $headers = [ @@ -248,7 +248,7 @@ $modifiedHeaders = $headers; $modifiedHeaders['Php-Auth-User'] = ""; $response = $this->withHeaders($modifiedHeaders)->get("api/webhooks/nginx-httpauth"); - $response->assertStatus(403); + $response->assertStatus(200); // Invalid User $modifiedHeaders = $headers;