public function ApiAuthorize::getToken in FormAssembly 8
Retrieve an active access_token.
Either returns the current valid token or if the expire date is passed then the renewal process is used to obtain a new token.
Return value
string An access token if available or an empty string.
Throws
\Exception Any exception passed through from the Oauth request.
File
- src/
ApiAuthorize.php, line 104
Class
- ApiAuthorize
- Service class for FormAssembly API: Handles authorization.
Namespace
Drupal\formassemblyCode
public function getToken() {
/** @var \League\OAuth2\Client\Token\AccessToken $accessToken */
$accessToken = $this->state
->get('fa_form.access_token');
if ($accessToken
->hasExpired()) {
// Get the provider.
$provider = $this
->getOauthProvider();
// Try to get an access token using the authorization code grant.
try {
$newAccessToken = $provider
->getAccessToken('refresh_token', [
'refresh_token' => $accessToken
->getRefreshToken(),
]);
$this->state
->set('fa_form.access_token', $newAccessToken);
} catch (\Exception $e) {
$this->logger
->critical('FormAssembly new token request failed with Exception: %exception_type.', [
'%exception_type' => get_class($e),
]);
throw $e;
}
return $newAccessToken
->getToken();
}
return $accessToken
->getToken();
}