Skip to content

Commit df13a70

Browse files
author
Kevin Thrailkill
authored
Merge pull request #26 from eventfarm/feature/add-public-functionality-to-restforce-to-refresh-the-user-token
Updated restforce so that a user can refresh a token
2 parents f52382e + 4063102 commit df13a70

4 files changed

Lines changed: 18 additions & 0 deletions

File tree

src/Rest/OAuthRestClient.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,15 @@ public function patchJson(
100100
);
101101
}
102102

103+
public function refreshToken(): OAuthAccessToken
104+
{
105+
$refreshToken = $this->oAuthAccessToken->getRefreshToken();
106+
$refreshedToken = $this->getRefreshToken($refreshToken);
107+
$this->oAuthAccessToken = $refreshedToken;
108+
return $refreshedToken;
109+
}
110+
111+
103112
private function setParamsFromAccessToken(): void
104113
{
105114
$this->apiRestClient->setBaseUriForRestClient($this->getOAuthAccessToken()->getInstanceUrl());

src/Rest/RestClientInterface.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ public function patchJson(
3232
array $headers = [],
3333
?float $timeoutSeconds = null
3434
): ResponseInterface;
35+
36+
public function refreshToken(): OAuthAccessToken;
3537
}

src/Restforce.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ public function query(string $queryString): ResponseInterface
119119
]);
120120
}
121121

122+
public function refreshToken(): OAuthAccessToken
123+
{
124+
return $this->getOAuthRestClient()->refreshToken();
125+
}
126+
122127
public function userInfo(): ResponseInterface
123128
{
124129
return $this->getOAuthRestClient()->get(self::USER_INFO_ENDPOINT);

src/RestforceInterface.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22
namespace EventFarm\Restforce;
33

4+
use EventFarm\Restforce\Rest\OAuthAccessToken;
45
use Psr\Http\Message\ResponseInterface;
56

67
interface RestforceInterface
@@ -13,4 +14,5 @@ public function update(string $sobjectType, string $sobjectId, array $data): Res
1314
public function describe(string $sobjectType): ResponseInterface;
1415
public function find(string $sobjectType, string $sobjectId, array $fields = []): ResponseInterface;
1516
public function getNext(string $url): ResponseInterface;
17+
public function refreshToken(): OAuthAccessToken;
1618
}

0 commit comments

Comments
 (0)