From f6387d8f7f1f1a128e18ab947221ee7134538826 Mon Sep 17 00:00:00 2001 From: Sonia Zorba Date: Wed, 11 Sep 2019 14:51:17 +0200 Subject: [PATCH] Added refresh token in check token response and minor fix --- classes/IdTokenBuilder.php | 4 ++-- classes/OAuth2RequestHandler.php | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/classes/IdTokenBuilder.php b/classes/IdTokenBuilder.php index e5eb200..18d3a16 100644 --- a/classes/IdTokenBuilder.php +++ b/classes/IdTokenBuilder.php @@ -28,8 +28,8 @@ class IdTokenBuilder { $payloadArr = array( 'iss' => $this->locator->config->jwtIssuer, 'sub' => $user->id, - 'iat' => $accessToken->creationTime, - 'exp' => $accessToken->expirationTime, + 'iat' => intval($accessToken->creationTime), + 'exp' => intval($accessToken->expirationTime), 'name' => $user->getCompleteName(), 'aud' => $accessToken->clientId ); diff --git a/classes/OAuth2RequestHandler.php b/classes/OAuth2RequestHandler.php index 8957525..4d4c124 100644 --- a/classes/OAuth2RequestHandler.php +++ b/classes/OAuth2RequestHandler.php @@ -202,12 +202,17 @@ class OAuth2RequestHandler { public function handleCheckTokenRequest($token): array { $accessToken = $this->locator->getAccessTokenDAO()->getAccessToken($token); + if ($accessToken === null) { + throw new UnauthorizedException("Invalid access token"); + } + $user = $this->locator->getUserDAO()->findUserById($accessToken->userId); $result = []; $result['exp'] = $accessToken->expirationTime - time(); $result['user_name'] = $user->id; $result['client_id'] = $accessToken->clientId; + $result['refresh_token'] = $this->getNewRefreshToken($accessToken); if ($accessToken->scope !== null) { $result['scope'] = $accessToken->scope; -- GitLab