You are here

public function ClientRepository::validateClient in Simple OAuth (OAuth2) & OpenID Connect 5.x

inheritdoc}

File

src/Repositories/ClientRepository.php, line 51

Class

ClientRepository

Namespace

Drupal\simple_oauth\Repositories

Code

public function validateClient($client_identifier, $client_secret, $grant_type) {
  $client_drupal_entities = $this->entityTypeManager
    ->getStorage('consumer')
    ->loadByProperties([
    'uuid' => $client_identifier,
  ]);

  /** @var \Drupal\consumers\Entity\Consumer $client_drupal_entity */
  $client_drupal_entity = reset($client_drupal_entities);
  $secret = $client_drupal_entity
    ->get('secret')->value;

  // @todo check the grant type?
  if ($client_drupal_entity
    ->get('confidential')->value) {
    return $this->passwordChecker
      ->check($client_secret, $secret);
  }
  return FALSE;
}