Skip to content

Commit

Permalink
added extra checks before setting IdToken and RefreshToken
Browse files Browse the repository at this point in the history
  • Loading branch information
a-klapper committed Jan 29, 2024
1 parent f7fc982 commit 54f03c3
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/Bootstrap.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
use dmstr\tokenManager\components\TokenManager;
use dmstr\tokenManager\event\TokenManagerEvent;
use dmstr\usuario\keycloak\clients\Keycloak;
use Lcobucci\JWT\UnencryptedToken;
use Yii;
use yii\authclient\OAuthToken;
use yii\base\BootstrapInterface;
use yii\base\Event;
use yii\web\BadRequestHttpException;
use Yii;

/**
* --- PROPERTIES ---
Expand Down Expand Up @@ -123,12 +124,16 @@ public function bootstrap($app)
$tokenEvent = Yii::createObject(TokenManagerEvent::class, [$parsedToken, $parsedIdToken, $parsedRefreshToken]);
// Fire before token set event
$tokenManager->trigger(TokenManagerEvent::EVENT_BEFORE_SET_TOKEN, $tokenEvent);
// save parsed token via token manager
$tokenManager->setTokens($parsedToken, $parsedIdToken, $parsedRefreshToken);
// save parsed access token
$tokenManager->setToken($parsedToken);
// Set Id Token
if($parsedIdToken) $tokenManager->setIdToken($parsedIdToken);
if($parsedIdToken && $parsedIdToken instanceof UnencryptedToken) {
$tokenManager->setIdToken($parsedIdToken);
}
// Set refresh token
if($parsedRefreshToken) $tokenManager->setRefreshToken($parsedRefreshToken);
if($parsedRefreshToken && $parsedRefreshToken instanceof UnencryptedToken) {
$tokenManager->setRefreshToken($parsedRefreshToken);
}
// Save the type of login in the session so we can logout different type of accounts
if(Yii::$app->session) {
Yii::$app->session->set(self::LOGIN_ORIGIN, self::TYPE_KEYCLOAK);
Expand Down

0 comments on commit 54f03c3

Please sign in to comment.