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)