You are here

public function SalesforceJWTPlugin::requestAccessToken in Salesforce Suite 5.0.x

Same name and namespace in other branches
  1. 8.4 modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php \Drupal\salesforce_jwt\Plugin\SalesforceAuthProvider\SalesforceJWTPlugin::requestAccessToken()

Overrides AbstractService::requestAccessToken for jwt-bearer flow.

Parameters

string $assertion: The JWT assertion.

string $state: Not used.

Return value

\OAuth\Common\Token\TokenInterface Access Token.

Throws

\OAuth\Common\Http\Exception\TokenResponseException

Overrides SalesforceAuthProviderPluginBase::requestAccessToken

2 calls to SalesforceJWTPlugin::requestAccessToken()
SalesforceJWTPlugin::refreshAccessToken in modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php
Perform a refresh of the given token.
SalesforceJWTPlugin::validateConfigurationForm in modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php
Form validation handler.

File

modules/salesforce_jwt/src/Plugin/SalesforceAuthProvider/SalesforceJWTPlugin.php, line 172

Class

SalesforceJWTPlugin
JWT Oauth plugin.

Namespace

Drupal\salesforce_jwt\Plugin\SalesforceAuthProvider

Code

public function requestAccessToken($assertion, $state = NULL) {
  $data = [
    'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer',
    'assertion' => $assertion,
  ];
  $response = $this->httpClient
    ->retrieveResponse(new Uri($this
    ->getLoginUrl() . static::AUTH_TOKEN_PATH), $data, [
    'Content-Type' => 'application/x-www-form-urlencoded',
  ]);
  $token = $this
    ->parseAccessTokenResponse($response);
  $this->storage
    ->storeAccessToken($this
    ->service(), $token);
  $this
    ->refreshIdentity($token);
  return $token;
}