update provider

This commit is contained in:
2025-09-19 16:37:22 +00:00
parent e1a6af11a3
commit 30ac4ae4f9
2 changed files with 29 additions and 23 deletions

View File

@@ -46,16 +46,6 @@ class AnikeenId
*/ */
public static bool $unserializesCookies = false; public static bool $unserializesCookies = false;
/**
* The base URL for Anikeen ID API.
*/
private static string $baseUrl = 'https://id.anikeen.com/api/';
/**
* The staging base URL for Anikeen ID API.
*/
private static string $stagingBaseUrl = 'https://staging.id.anikeen.com/api/';
/** /**
* The key for the access token. * The key for the access token.
*/ */
@@ -96,6 +86,16 @@ class AnikeenId
*/ */
protected ?string $redirectUri = null; protected ?string $redirectUri = null;
/**
* The base URL for Anikeen ID.
*/
protected string $baseUrl = 'https://id.anikeen.com';
/**
* The staging base URL for Anikeen ID.
*/
protected string $stagingBaseUrl = 'https://staging.id.anikeen.com';
/** /**
* Constructor. * Constructor.
*/ */
@@ -110,25 +110,25 @@ class AnikeenId
if ($redirectUri = config('services.anikeen.redirect')) { if ($redirectUri = config('services.anikeen.redirect')) {
$this->setRedirectUri($redirectUri); $this->setRedirectUri($redirectUri);
} }
if (self::getMode() === 'staging') { if (self::getMode() === 'staging' && !config('services.anikeen.base_url')) {
self::setBaseUrl(self::$stagingBaseUrl); self::setBaseUrl($this->stagingBaseUrl);
} }
if ($baseUrl = config('services.anikeen.base_url')) { if ($baseUrl = config('services.anikeen.base_url')) {
self::setBaseUrl($baseUrl); self::setBaseUrl($baseUrl);
} }
$this->client = new Client([ $this->client = new Client([
'base_uri' => self::$baseUrl, 'base_uri' => $this->baseUrl,
]); ]);
} }
/** protected function setBaseUrl(string $baseUrl): void
* @param string $baseUrl
*
* @internal only for internal and debug purposes.
*/
public static function setBaseUrl(string $baseUrl): void
{ {
self::$baseUrl = $baseUrl; $this->baseUrl = $baseUrl;
}
public function getBaseUrl(): string
{
return rtrim($this->baseUrl, '/');
} }
public static function useAccessTokenField(string $accessTokenField): void public static function useAccessTokenField(string $accessTokenField): void

View File

@@ -33,9 +33,7 @@ class Provider extends AbstractProvider implements ProviderInterface
*/ */
protected function getBaseUrl(): string protected function getBaseUrl(): string
{ {
return AnikeenId::getMode() === 'staging' return app(AnikeenId::class)->getBaseUrl();
? 'https://staging.id.anikeen.com'
: 'https://id.anikeen.com';
} }
/** /**
@@ -97,4 +95,12 @@ class Provider extends AbstractProvider implements ProviderInterface
'grant_type' => 'authorization_code', 'grant_type' => 'authorization_code',
]); ]);
} }
/**
* Returns the user logout url for the provider.
*/
public function getLogoutUrl(string $redirect = null): string
{
return app(AnikeenId::class)->getBaseUrl() . '/logout?redirect=' . urlencode($redirect ?: '/');
}
} }