Loading lib/Service/SSOService.php +10 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,8 @@ class SSOService { private CurlService $curl; private ILogger $logger; private array $ssoConfig = []; private string $adminAccessToken; private string $adminAccessToken = ''; private int $adminAccessTokenExpiresAt = 0; private string $currentUserId; private string $currentUserName; private ICrypto $crypto; Loading Loading @@ -200,9 +201,15 @@ class SSOService { } private function getAdminAccessToken() : void { if (!empty($this->adminAccessToken)) { // Check if admin access token exists and has not expired // Use a grace period of 10 seconds to account for network latencies if (!empty($this->adminAccessToken) && $this->adminAccessTokenExpiresAt !== 0 && (time() < ($this->adminAccessTokenExpiresAt - 10))) { return; } $this->adminAccessToken = ''; $this->adminAccessTokenExpiresAt = 0; $adminAccessTokenRoute = $this->ssoConfig['root_url'] . self::ADMIN_TOKEN_ENDPOINT; $requestBody = [ 'username' => $this->ssoConfig['admin_username'], Loading @@ -228,6 +235,7 @@ class SSOService { throw new SSOAdminAccessTokenException('Error: admin access token not set in response!'); } $this->adminAccessToken = $response['access_token']; $this->adminAccessTokenExpiresAt = time() + (int) $response['expires_in']; } private function callSSOAPI(string $url, string $method, array $data = [], int $expectedStatusCode = 200) :?array { Loading Loading
lib/Service/SSOService.php +10 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,8 @@ class SSOService { private CurlService $curl; private ILogger $logger; private array $ssoConfig = []; private string $adminAccessToken; private string $adminAccessToken = ''; private int $adminAccessTokenExpiresAt = 0; private string $currentUserId; private string $currentUserName; private ICrypto $crypto; Loading Loading @@ -200,9 +201,15 @@ class SSOService { } private function getAdminAccessToken() : void { if (!empty($this->adminAccessToken)) { // Check if admin access token exists and has not expired // Use a grace period of 10 seconds to account for network latencies if (!empty($this->adminAccessToken) && $this->adminAccessTokenExpiresAt !== 0 && (time() < ($this->adminAccessTokenExpiresAt - 10))) { return; } $this->adminAccessToken = ''; $this->adminAccessTokenExpiresAt = 0; $adminAccessTokenRoute = $this->ssoConfig['root_url'] . self::ADMIN_TOKEN_ENDPOINT; $requestBody = [ 'username' => $this->ssoConfig['admin_username'], Loading @@ -228,6 +235,7 @@ class SSOService { throw new SSOAdminAccessTokenException('Error: admin access token not set in response!'); } $this->adminAccessToken = $response['access_token']; $this->adminAccessTokenExpiresAt = time() + (int) $response['expires_in']; } private function callSSOAPI(string $url, string $method, array $data = [], int $expectedStatusCode = 200) :?array { Loading