Add Proxy-Authentication

This commit is contained in:
fipwmaqzufheoxq92ebc 2020-07-21 15:13:58 +02:00
parent cfcb922e83
commit 817177f3cb
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,37 @@
<?php
namespace Grocy\Middleware;
use Grocy\Services\DatabaseService;
use Grocy\Services\UsersService;
use Psr\Http\Message\ServerRequestInterface as Request;
class ProxyAuthMiddleware extends AuthMiddleware
{
function authenticate(Request $request)
{
$db = DatabaseService::getInstance()->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;
}
}

View File

@ -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)