mirror of
https://github.com/grocy/grocy.git
synced 2026-04-07 05:16:15 +02:00
Add Proxy-Authentication
This commit is contained in:
parent
cfcb922e83
commit
817177f3cb
37
middleware/ProxyAuthMiddleware.php
Normal file
37
middleware/ProxyAuthMiddleware.php
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,7 +12,7 @@ class UsersService extends BaseService
|
||||||
'last_name' => $lastName,
|
'last_name' => $lastName,
|
||||||
'password' => password_hash($password, PASSWORD_DEFAULT)
|
'password' => password_hash($password, PASSWORD_DEFAULT)
|
||||||
));
|
));
|
||||||
$newUserRow->save();
|
return $newUserRow->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function EditUser(int $userId, string $username, string $firstName, string $lastName, string $password)
|
public function EditUser(int $userId, string $username, string $firstName, string $lastName, string $password)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user