From 05f15fa41c4de1a04d4309b05dee0cee9700b070 Mon Sep 17 00:00:00 2001 From: Pradeep Singh Date: Fri, 16 Feb 2024 09:58:21 +0530 Subject: [PATCH] Refresh token functionality updated --- src/LabelcampAPI.php | 4 +-- src/Session.php | 52 --------------------------------- tests/Unit/LabelcampAPITest.php | 3 +- 3 files changed, 3 insertions(+), 56 deletions(-) diff --git a/src/LabelcampAPI.php b/src/LabelcampAPI.php index 4dc29f5..99164ef 100644 --- a/src/LabelcampAPI.php +++ b/src/LabelcampAPI.php @@ -141,8 +141,8 @@ protected function apiRequest( return $this->request->api($method, $uri, $options); } catch (LabelcampAPIException $e) { - if ($this->options['auto_refresh'] && $e->hasExpiredToken()) { - $result = $this->session->refreshAccessToken(); + if ($this->options['auto_refresh'] && $e->hasExpiredToken() && $this->session) { + $result = $this->session->requestAccessToken(); if (!$result) { throw new LabelcampAPIException('Could not refresh access token.'); diff --git a/src/Session.php b/src/Session.php index 3a06d7e..e434d35 100644 --- a/src/Session.php +++ b/src/Session.php @@ -7,7 +7,6 @@ class Session { protected string $accessToken = ''; - protected string $refreshToken = ''; protected string $username = ''; protected string $password = ''; protected int $expirationTime = 0; @@ -53,15 +52,6 @@ public function getAccessToken(): string { return $this->accessToken; } - /** - * Get Refresh Token - * - * @return string The refresh token. - */ - public function getRefreshToken(): string { - return $this->refreshToken; - } - /** * Get the access token expiration time. * @@ -89,7 +79,6 @@ public function requestAccessToken(): bool { if (isset($response['access_token'])) { $this->accessToken = $response["access_token"]; - $this->refreshToken = isset($response["refresh_token"]) ? $response["refresh_token"] : ''; $this->expirationTime = time() + $response["expires_in"]; return true; @@ -98,34 +87,6 @@ public function requestAccessToken(): bool { return false; } - /** - * Refresh Access Token - * - * @return boolean True if the token was refreshed. - */ - public function refreshAccessToken(?string $refreshToken = null): bool { - $parameters = [ - 'grant_type' => 'refresh_token', - 'refresh_token' => $refreshToken ?? $this->refreshToken - ]; - - $response = $this->request->token('POST', '/token', ["form_params" => $parameters]); - - if (isset($response["access_token"])) { - $this->accessToken = $response['access_token']; - $this->expirationTime = time() + $response['expires_in']; - $this->refreshToken = $response['refresh_token']; - - if (empty($this->refreshToken)) { - $this->refreshToken = $refreshToken; - } - - return true; - } - - return false; - } - /** * Set the username * @@ -149,17 +110,4 @@ public function setPassword(string $password): self { return $this; } - - /** - * Set refresh token in session. - * - * @param string $refreshToken The refresh token. - * - * @return self - */ - public function setRefreshToken(string $refreshToken): self { - $this->refreshToken = $refreshToken; - - return $this; - } } diff --git a/tests/Unit/LabelcampAPITest.php b/tests/Unit/LabelcampAPITest.php index 6f16ea5..ac1b2f5 100644 --- a/tests/Unit/LabelcampAPITest.php +++ b/tests/Unit/LabelcampAPITest.php @@ -12,8 +12,7 @@ it('can be initiated with options', function () { $api = new LabelcampAPI([ - 'auto_refresh' => true, - 'auto_retry' => true + 'auto_refresh' => true ]); expect($api)->toBeInstanceOf(LabelcampAPI::class);