Skip to content

Commit f9c3554

Browse files
authored
fix: adding method to restore oAuthConfiguration with Code Verifier support (#42)
1 parent 9e1256c commit f9c3554

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

src/SalesforceApi.php

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,22 @@ public function completeOAuthLogin(OAuthConfiguration $configuration, string $co
117117
return $authenticator;
118118
}
119119

120+
public function restoreExistingOAuthConnectionWithCodeVerification($serializedAuthenticator, OAuthConfiguration $originalConfiguration, string $codeVerifier, callable $afterRefresh)
121+
{
122+
$connector = new Connectors\SalesforceOAuthLoginConnector();
123+
$connector->setOauthConfiguration($originalConfiguration, $codeVerifier);
124+
$authenticator = AccessTokenAuthenticator::unserialize($serializedAuthenticator);
125+
$connector->authenticate($authenticator);
126+
127+
if ($authenticator->hasExpired() || $authenticator->getExpiresAt() === null) {
128+
$authenticator = $connector->refreshAccessToken($authenticator);
129+
$afterRefresh($authenticator);
130+
}
131+
132+
$this->connector = new SalesforceApiConnector();
133+
$this->connector->authenticate($authenticator);
134+
}
135+
120136
public function restoreExistingOAuthConnection($serializedAuthenticator, callable $afterRefresh)
121137
{
122138
$connector = new Connectors\SalesforceOAuthLoginConnector();
@@ -134,7 +150,7 @@ public function restoreExistingOAuthConnection($serializedAuthenticator, callabl
134150

135151
public function refreshToken($serializedAuthenticator, callable $afterRefresh)
136152
{
137-
return $this->restoreExistingOAuthConnection($serializedAuthenticator, $afterRefresh);
153+
$this->restoreExistingOAuthConnection($serializedAuthenticator, $afterRefresh);
138154
}
139155

140156
public static function getApiVersion(): string

0 commit comments

Comments
 (0)