From f17519743efe2c0c2ba3238c12a873389497fa87 Mon Sep 17 00:00:00 2001 From: envoyr Date: Mon, 20 Feb 2023 16:22:06 +0100 Subject: [PATCH] update jwt encode/decode Signed-off-by: envoyr --- src/Accounts/ApiTokenCookieFactory.php | 2 +- src/Accounts/Auth/TokenGuard.php | 7 +++++-- src/Accounts/Helpers/JwtParser.php | 6 ++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/Accounts/ApiTokenCookieFactory.php b/src/Accounts/ApiTokenCookieFactory.php index b8ad45e..2e5483d 100644 --- a/src/Accounts/ApiTokenCookieFactory.php +++ b/src/Accounts/ApiTokenCookieFactory.php @@ -77,6 +77,6 @@ class ApiTokenCookieFactory 'sub' => $userId, 'csrf' => $csrfToken, 'expiry' => $expiration->getTimestamp(), - ], $this->encrypter->getKey()); + ], $this->encrypter->getKey(), 'RS256'); } } \ No newline at end of file diff --git a/src/Accounts/Auth/TokenGuard.php b/src/Accounts/Auth/TokenGuard.php index e31fadd..523222a 100644 --- a/src/Accounts/Auth/TokenGuard.php +++ b/src/Accounts/Auth/TokenGuard.php @@ -7,6 +7,7 @@ use Bitinflow\Accounts\Helpers\JwtParser; use Bitinflow\Accounts\Traits\HasBitinflowTokens; use Exception; use Firebase\JWT\JWT; +use Firebase\JWT\Key; use Illuminate\Auth\AuthenticationException; use Illuminate\Auth\GuardHelpers; use Illuminate\Container\Container; @@ -181,8 +182,10 @@ class TokenGuard { return (array)JWT::decode( CookieValuePrefix::remove($this->encrypter->decrypt($request->cookie(BitinflowAccounts::cookie()), BitinflowAccounts::$unserializesCookies)), - $this->encrypter->getKey(), - ['HS256'] + new Key( + $this->encrypter->getKey(), + 'RS256' + ) ); } diff --git a/src/Accounts/Helpers/JwtParser.php b/src/Accounts/Helpers/JwtParser.php index 94a5c29..f0d1e3f 100644 --- a/src/Accounts/Helpers/JwtParser.php +++ b/src/Accounts/Helpers/JwtParser.php @@ -5,6 +5,7 @@ namespace Bitinflow\Accounts\Helpers; use Firebase\JWT\JWT; +use Firebase\JWT\Key; use Illuminate\Auth\AuthenticationException; use Illuminate\Http\Request; use stdClass; @@ -12,8 +13,6 @@ use Throwable; class JwtParser { - public const ALLOWED_ALGORITHMS = ['RS256']; - /** * @param Request $request * @return stdClass @@ -26,8 +25,7 @@ class JwtParser try { return JWT::decode( $request->bearerToken(), - $this->getOauthPublicKey(), - self::ALLOWED_ALGORITHMS + new Key($this->getOauthPublicKey(),'RS256') ); } catch (Throwable $exception) { throw (new AuthenticationException());