You are here

protected function OpenIDConnectGenericClient::autoDiscoverEndpoints in OpenID Connect / OAuth client 2.x

Performs endpoint discovery.

Parameters

string $issuer_url: The issuer URL.

Return value

array|false Array with discovered endpoints; FALSE on failure to fetch data or the JSON response not containing the three *required* endpoints (authorization, token, userinfo).

2 calls to OpenIDConnectGenericClient::autoDiscoverEndpoints()
OpenIDConnectGenericClient::submitConfigurationForm in src/Plugin/OpenIDConnectClient/OpenIDConnectGenericClient.php
Form submission handler.
OpenIDConnectGenericClient::validateConfigurationForm in src/Plugin/OpenIDConnectClient/OpenIDConnectGenericClient.php
Form validation handler.

File

src/Plugin/OpenIDConnectClient/OpenIDConnectGenericClient.php, line 161

Class

OpenIDConnectGenericClient
Generic OAuth 2.0 OpenID Connect client.

Namespace

Drupal\openid_connect\Plugin\OpenIDConnectClient

Code

protected function autoDiscoverEndpoints(string $issuer_url = '') {
  static $results = [];
  if (empty($issuer_url)) {
    $issuer_url = $this->configuration['issuer_url'];
  }
  if (!isset($results[$issuer_url])) {
    $results[$issuer_url] = $this->autoDiscover
      ->fetch($issuer_url);
  }
  $result = $results[$issuer_url];
  if ($result && isset($result['authorization_endpoint']) && isset($result['token_endpoint']) && isset($result['userinfo_endpoint'])) {
    return $result;
  }
  return FALSE;
}