From 817177f3cb3f0ca19f80acc81964ff7ea01d4b6a Mon Sep 17 00:00:00 2001 From: fipwmaqzufheoxq92ebc <29818044+fipwmaqzufheoxq92ebc@users.noreply.github.com> Date: Tue, 21 Jul 2020 15:13:58 +0200 Subject: [PATCH] Add Proxy-Authentication --- middleware/ProxyAuthMiddleware.php | 37 ++++++++++++++++++++++++++++++ services/UsersService.php | 2 +- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 middleware/ProxyAuthMiddleware.php diff --git a/middleware/ProxyAuthMiddleware.php b/middleware/ProxyAuthMiddleware.php new file mode 100644 index 00000000..0c3887ad --- /dev/null +++ b/middleware/ProxyAuthMiddleware.php @@ -0,0 +1,37 @@ +GetDbConnection(); + + $username = $request->getHeader(GROCY_PROXY_AUTH_HEADER); + error_log(var_dump($username)); + if (count($username) != 1) { + // Invalid configuration of Proxy + throw new \Exception("Invalid Username from Proxy " . var_dump($username)); + } + + $username = $username[0]; + + $user = $db->users()->where('username', $username)->fetch(); + if ($user == null) { + $user = UsersService::getInstance()->CreateUser( + $username, + '', + '', + '' + ); + } + return $user; + } +} \ No newline at end of file diff --git a/services/UsersService.php b/services/UsersService.php index 14810db0..42f298d2 100644 --- a/services/UsersService.php +++ b/services/UsersService.php @@ -12,7 +12,7 @@ class UsersService extends BaseService 'last_name' => $lastName, 'password' => password_hash($password, PASSWORD_DEFAULT) )); - $newUserRow->save(); + return $newUserRow->save(); } public function EditUser(int $userId, string $username, string $firstName, string $lastName, string $password)