mirror of
https://github.com/bitinflow/accounts.git
synced 2026-03-13 13:35:52 +00:00
@@ -77,6 +77,6 @@ class ApiTokenCookieFactory
|
|||||||
'sub' => $userId,
|
'sub' => $userId,
|
||||||
'csrf' => $csrfToken,
|
'csrf' => $csrfToken,
|
||||||
'expiry' => $expiration->getTimestamp(),
|
'expiry' => $expiration->getTimestamp(),
|
||||||
], $this->encrypter->getKey());
|
], $this->encrypter->getKey(), 'RS256');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,7 @@ use Bitinflow\Accounts\Helpers\JwtParser;
|
|||||||
use Bitinflow\Accounts\Traits\HasBitinflowTokens;
|
use Bitinflow\Accounts\Traits\HasBitinflowTokens;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Firebase\JWT\JWT;
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
use Illuminate\Auth\AuthenticationException;
|
use Illuminate\Auth\AuthenticationException;
|
||||||
use Illuminate\Auth\GuardHelpers;
|
use Illuminate\Auth\GuardHelpers;
|
||||||
use Illuminate\Container\Container;
|
use Illuminate\Container\Container;
|
||||||
@@ -181,8 +182,10 @@ class TokenGuard
|
|||||||
{
|
{
|
||||||
return (array)JWT::decode(
|
return (array)JWT::decode(
|
||||||
CookieValuePrefix::remove($this->encrypter->decrypt($request->cookie(BitinflowAccounts::cookie()), BitinflowAccounts::$unserializesCookies)),
|
CookieValuePrefix::remove($this->encrypter->decrypt($request->cookie(BitinflowAccounts::cookie()), BitinflowAccounts::$unserializesCookies)),
|
||||||
|
new Key(
|
||||||
$this->encrypter->getKey(),
|
$this->encrypter->getKey(),
|
||||||
['HS256']
|
'RS256'
|
||||||
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace Bitinflow\Accounts\Helpers;
|
|||||||
|
|
||||||
|
|
||||||
use Firebase\JWT\JWT;
|
use Firebase\JWT\JWT;
|
||||||
|
use Firebase\JWT\Key;
|
||||||
use Illuminate\Auth\AuthenticationException;
|
use Illuminate\Auth\AuthenticationException;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use stdClass;
|
use stdClass;
|
||||||
@@ -12,8 +13,6 @@ use Throwable;
|
|||||||
|
|
||||||
class JwtParser
|
class JwtParser
|
||||||
{
|
{
|
||||||
public const ALLOWED_ALGORITHMS = ['RS256'];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return stdClass
|
* @return stdClass
|
||||||
@@ -26,8 +25,7 @@ class JwtParser
|
|||||||
try {
|
try {
|
||||||
return JWT::decode(
|
return JWT::decode(
|
||||||
$request->bearerToken(),
|
$request->bearerToken(),
|
||||||
$this->getOauthPublicKey(),
|
new Key($this->getOauthPublicKey(),'RS256')
|
||||||
self::ALLOWED_ALGORITHMS
|
|
||||||
);
|
);
|
||||||
} catch (Throwable $exception) {
|
} catch (Throwable $exception) {
|
||||||
throw (new AuthenticationException());
|
throw (new AuthenticationException());
|
||||||
|
|||||||
Reference in New Issue
Block a user