src/Adapter/Oidc.php
public function getDiscoveryDocument(): array
    {
        if ($apc = extension_loaded('apc') && apc_exists($this->provider_url)) {
            return apc_get($this->provider_url);
        }
        $ch = curl_init();
        $url = $this->getDiscoveryUrl();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $this->logger->debug('fetch openid-connect discovery document from ['.$url.']', [
                'category' => get_class($this),
            ]);

        $result = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);

        if (200 === $code) {
            $discovery = json_decode($result, true);
            $this->logger->debug('received openid-connect discovery document from ['.$url.']', [
                    'category' => get_class($this),
                    'discovery' => $discovery,
                ]);

            if (true === $apc) {
                apc_store($this->provider_url, $discovery);
            }

            return $discovery;
        }
        $this->logger->error('failed to receive openid-connect discovery document from ['.$url.'], request ended with status ['.$code.']', [
                    'category' => get_class($this),
                ]);

        throw new OidcException\DiscoveryNotFound('failed to get openid-connect discovery document');
    }
public function getDiscoveryDocument(): array
    {
        if ($apc = extension_loaded('apc') && apc_exists($this->provider_url)) {
            return apc_get($this->provider_url);
        }
        $ch = curl_init();
        $url = $this->getDiscoveryUrl();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $this->logger->debug('fetch openid-connect discovery document from ['.$url.']', [
                'category' => get_class($this),
            ]);

        $result = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);

        if (200 === $code) {
            $discovery = json_decode($result, true);
            $this->logger->debug('received openid-connect discovery document from ['.$url.']', [
                    'category' => get_class($this),
                    'discovery' => $discovery,
                ]);

            if (true === $apc) {
                apc_store($this->provider_url, $discovery);
            }

            return $discovery;
        }
        $this->logger->error('failed to receive openid-connect discovery document from ['.$url.'], request ended with status ['.$code.']', [
                    'category' => get_class($this),
                ]);

        throw new OidcException\DiscoveryNotFound('failed to get openid-connect discovery document');
    }
public function getDiscoveryDocument ( ) : array { if ( $ apc = extension_loaded ( 'apc' ) && apc_exists ( $ this -> provider_url ) ) { return apc_get ( $ this -> provider_url ) ; } $ ch = curl_init ( ) ; $ url = $ this -> getDiscoveryUrl ( ) ; curl_setopt ( $ ch , CURLOPT_URL , $ url ) ; curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ; $ this -> logger -> debug ( 'fetch openid-connect discovery document from [' . $ url . ']' , [ 'category' => get_class ( $ this ) , ] ) ; $ result = curl_exec ( $ ch ) ; $ code = curl_getinfo ( $ ch , CURLINFO_HTTP_CODE ) ; curl_close ( $ ch ) ; if ( 200 === $ code ) { $ discovery = json_decode ( $ result , true ) ; $ this -> logger -> debug ( 'received openid-connect discovery document from [' . $ url . ']' , [ 'category' => get_class ( $ this ) , 'discovery' => $ discovery , ] ) ; if ( true === $ apc ) { apc_store ( $ this -> provider_url , $ discovery ) ; } return $ discovery ; } $ this -> logger -> error ( 'failed to receive openid-connect discovery document from [' . $ url . '], request ended with status [' . $ code . ']' , [ 'category' => get_class ( $ this ) , ] ) ; throw new OidcException \ DiscoveryNotFound ( 'failed to get openid-connect discovery document' ) ; }
Get discovery document.

@return array
Get discovery document .