You are here

public function ClientCredentialsOverrideGrant::respondToAccessTokenRequest in Simple OAuth (OAuth2) & OpenID Connect 8.3

Throws

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException

\League\OAuth2\Server\Exception\OAuthServerException

\League\OAuth2\Server\Exception\UniqueTokenIdentifierConstraintViolationException

File

simple_oauth_extras/src/Grant/ClientCredentialsOverrideGrant.php, line 19

Class

ClientCredentialsOverrideGrant

Namespace

Drupal\simple_oauth_extras\Grant

Code

public function respondToAccessTokenRequest(ServerRequestInterface $request, ResponseTypeInterface $responseType, \DateInterval $accessTokenTTL) {

  // Validate request.
  $client = $this
    ->validateClient($request);
  $scopes = $this
    ->validateScopes($this
    ->getRequestParameter('scope', $request));

  // Finalize the requested scopes.
  $finalized_scopes = $this->scopeRepository
    ->finalizeScopes($scopes, $this
    ->getIdentifier(), $client);

  // Issue and persist access token.
  $access_token = $this
    ->issueAccessToken($accessTokenTTL, $client, $this
    ->getDefaultUser($client), $finalized_scopes);

  // Inject access token into response type.
  $responseType
    ->setAccessToken($access_token);
  return $responseType;
}