You are here

protected function Oauth2ClientGrantServiceBase::getProvider in OAuth2 Client 8.3

Same name and namespace in other branches
  1. 8.2 src/Service/Grant/Oauth2ClientGrantServiceBase.php \Drupal\oauth2_client\Service\Grant\Oauth2ClientGrantServiceBase::getProvider()

Creates a new provider object.

Parameters

string $pluginId: The client for which a provider should be created.

Return value

\League\OAuth2\Client\Provider\GenericProvider The provider of the OAuth2 Server.

Throws

\Drupal\oauth2_client\Exception\InvalidOauth2ClientException Exception thrown when trying to retrieve a non-existent OAuth2 Client.

9 calls to Oauth2ClientGrantServiceBase::getProvider()
AuthorizationCodeGrantService::getAccessToken in src/Service/Grant/AuthorizationCodeGrantService.php
Get an OAuth2 access token.
AuthorizationCodeGrantService::getGrantProvider in src/Service/Grant/AuthorizationCodeGrantService.php
Get the league/oauth2 provider.
AuthorizationCodeGrantService::requestAccessToken in src/Service/Grant/AuthorizationCodeGrantService.php
Executes an authorization_code grant request with the give code.
ClientCredentialsGrantService::getAccessToken in src/Service/Grant/ClientCredentialsGrantService.php
Get an OAuth2 access token.
ClientCredentialsGrantService::getGrantProvider in src/Service/Grant/ClientCredentialsGrantService.php
Get the league/oauth2 provider.

... See full list

File

src/Service/Grant/Oauth2ClientGrantServiceBase.php, line 89

Class

Oauth2ClientGrantServiceBase
Base class for OAuth2 Client grant services.

Namespace

Drupal\oauth2_client\Service\Grant

Code

protected function getProvider($pluginId) {
  if (isset($this->clientProviderCache[$pluginId])) {
    $provider = $this->clientProviderCache[$pluginId];
  }
  else {
    $client = $this
      ->getClient($pluginId);
    $provider = new GenericProvider([
      'clientId' => $client
        ->getClientId(),
      'clientSecret' => $client
        ->getClientSecret(),
      'redirectUri' => $client
        ->getRedirectUri(),
      'urlAuthorize' => $client
        ->getAuthorizationUri(),
      'urlAccessToken' => $client
        ->getTokenUri(),
      'urlResourceOwnerDetails' => $client
        ->getResourceUri(),
      'scopes' => $client
        ->getScopes(),
      'scopeSeparator' => $client
        ->getScopeSeparator(),
    ]);
    $this->clientProviderCache[$pluginId] = $provider;
  }
  return $provider;
}