Skip to content

Commit a07fb4b

Browse files
committed
Resolves an issue where using the library for multiple company's would end up with it using incorrect tokens.
1 parent 6971ca0 commit a07fb4b

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

src/Kobas/APIClient/Auth/Provider.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
class Provider
1717
{
1818
/**
19-
* @var AccessToken|null
19+
* @var AccessToken[]
2020
*/
21-
protected static $token;
21+
protected static $tokens;
2222
/**
2323
* @var int
2424
*/
@@ -89,17 +89,17 @@ public function getAccessToken()
8989
{
9090
$provider = $this->getProvider();
9191

92-
if (!self::$token instanceof AccessToken || self::$token->hasExpired()) {
92+
if (!is_array(self::$tokens) || !array_key_exists($provider->companyId, self::$tokens) || !self::$tokens[$provider->companyId] instanceof AccessToken || self::$tokens[$provider->companyId]->hasExpired()) {
9393
try {
94-
self::$token = $provider->getAccessToken('client_credentials', ['scope' => $this->scopes]);
94+
self::$tokens[$provider->companyId] = $provider->getAccessToken('client_credentials', ['scope' => $this->scopes]);
9595
} catch (IdentityProviderException $e) {
9696
throw new AuthenticationException($e->getMessage(), $e->getCode());
9797
} catch (ConnectException $e) {
9898
throw new CurlException($e->getMessage(), $e->getCode());
9999
}
100100
}
101101

102-
return self::$token->getToken();
102+
return self::$tokens[$provider->companyId]->getToken();
103103
}
104104

105105
/**

0 commit comments

Comments
 (0)