From 5ab57dcdfe30edb7c34fb8088a4f6165a2730515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maurice=20Preu=C3=9F?= Date: Thu, 18 Sep 2025 19:17:50 +0000 Subject: [PATCH] add staging key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Maurice Preuß --- oauth-public.staging.key | 14 ++++++++++++++ src/Id/AnikeenId.php | 12 +++++++++++- src/Id/Helpers/JwtParser.php | 5 ++++- src/Id/Socialite/Provider.php | 5 ++--- 4 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 oauth-public.staging.key diff --git a/oauth-public.staging.key b/oauth-public.staging.key new file mode 100644 index 0000000..a62c138 --- /dev/null +++ b/oauth-public.staging.key @@ -0,0 +1,14 @@ +-----BEGIN PUBLIC KEY----- +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi4Ta8r01zKaGSnGi1EiD +uMFWRXBlK4y/ZIfWBpElmS2ygv4mGeP3hT4Flm696Z2UMy56KC+c7CC/PQCiutLk +5NUphyX/t+0QS5Dqpw6FB33fLTNNY7GqSmGIUE4os8XYZRSyDQRgtOgq3R3vJkoV +7zoavTJmSCQlG5Qf0T//iMmzQ+b+6VZm1CJSz5nGx94u1DuXNyP5Epkk0wuHrtwy +kADR2lmydNodJzqpSD+8yQqnAhOZNtNF4qwQ3g13fRvHycBp3G2nlCfOn2g5PmYD +KYBKqvTq4PQH4E+K3pbbMz6zf/T6Dw7zTfksqHR4hqMgN6byRRxmwuBczIumcu9b +y7xbgoIGIVZXgJliALPFi+zTPTN7c8MedFs/xCBHCmzWYTCZfHgr8RPRewD19tCG +NSny5R0vlArpuZCTTgedPESDeGU4eNEddg4yXFzKlpE2nNuvzZ1Ohruc5ETOSU19 +RTCBUBkjeL6ESZRd/yKGjbVx4dEYxZdIz4yBl+hZ2ZOIyG7L3zPrccAWrPpG56xr +E5IDBXxLFhaJ5LlyEAGQehB0ShEuCdkr88Xz7ba9PHpGqY83l4//ULrqPIZPAa4Z +E3AWHT1ZtXNPeA4SzZ9Y9Oij4M3chyHxqM0lL3kYP+dstZehTujStfElDIx2Ni10 +73tILu4edYS0FxsL19m8gbsCAwEAAQ== +-----END PUBLIC KEY----- \ No newline at end of file diff --git a/src/Id/AnikeenId.php b/src/Id/AnikeenId.php index 9c65e75..9008f63 100644 --- a/src/Id/AnikeenId.php +++ b/src/Id/AnikeenId.php @@ -66,6 +66,11 @@ class AnikeenId */ private static string $refreshTokenField = 'anikeen_id_refresh_token'; + /** + * Anikeen ID environment mode. + */ + protected static ?string $mode = null; + /** * Guzzle is used to make http requests. */ @@ -110,7 +115,7 @@ class AnikeenId if ($redirectUri = config('services.anikeen.redirect')) { $this->setRedirectUri($redirectUri); } - if (config('services.anikeen.mode') === 'staging') { + if (self::getMode() === 'staging') { self::setBaseUrl(self::$stagingBaseUrl); } if ($baseUrl = config('services.anikeen.base_url')) { @@ -141,6 +146,11 @@ class AnikeenId return self::$accessTokenField; } + public static function getMode(): string + { + return config('services.anikeen.mode', 'production'); + } + public static function useRefreshTokenField(string $refreshTokenField): void { self::$refreshTokenField = $refreshTokenField; diff --git a/src/Id/Helpers/JwtParser.php b/src/Id/Helpers/JwtParser.php index f37eace..c3597bc 100644 --- a/src/Id/Helpers/JwtParser.php +++ b/src/Id/Helpers/JwtParser.php @@ -2,6 +2,7 @@ namespace Anikeen\Id\Helpers; +use Anikeen\Id\AnikeenId; use Firebase\JWT\JWT; use Firebase\JWT\Key; use Illuminate\Auth\AuthenticationException; @@ -30,6 +31,8 @@ class JwtParser private function getOauthPublicKey(): bool|string { - return file_get_contents(dirname(__DIR__, 3) . '/oauth-public.key'); + return AnikeenId::getMode() === 'staging' + ? file_get_contents(dirname(__DIR__, 3) . '/oauth-public.staging.key') + : file_get_contents(dirname(__DIR__, 3) . '/oauth-public.key'); } } diff --git a/src/Id/Socialite/Provider.php b/src/Id/Socialite/Provider.php index ba9224d..39b5e8e 100644 --- a/src/Id/Socialite/Provider.php +++ b/src/Id/Socialite/Provider.php @@ -2,6 +2,7 @@ namespace Anikeen\Id\Socialite; +use Anikeen\Id\AnikeenId; use Anikeen\Id\Enums\Scope; use GuzzleHttp\Exception\GuzzleException; use Illuminate\Http\Request; @@ -32,9 +33,7 @@ class Provider extends AbstractProvider implements ProviderInterface */ protected function getBaseUrl(): string { - $mode = config('services.anikeen.mode') ?? 'production'; - - return $mode === 'staging' + return AnikeenId::getMode() === 'staging' ? 'https://staging.id.anikeen.com' : 'https://id.anikeen.com'; }