src/Adapter/Oidc.php
protected function verifyToken(string $token): bool
    {
        if ($this->token_validation_url) {
            $this->logger->debug('validate oauth2 token via rfc7662 token validation endpoint ['.$this->token_validation_url.']', [
               'category' => get_class($this),
            ]);

            $url = str_replace('{token}', $token, $this->token_validation_url);
        } else {
            $discovery = $this->getDiscoveryDocument();
            if (!(isset($discovery['userinfo_endpoint']))) {
                throw new OidcException\UserEndpointNotSet('userinfo_endpoint could not be determained');
            }

            $this->logger->debug('validate token via openid-connect userinfo_endpoint ['.$discovery['userinfo_endpoint'].']', [
               'category' => get_class($this),
            ]);

            $url = $discovery['userinfo_endpoint'].'?access_token='.$token;
        }

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        $response = json_decode($result, true);

        if (200 === $code) {
            $attributes = json_decode($result, true);
            $this->logger->debug('successfully verified oauth2 access token via authorization server', [
               'category' => get_class($this),
            ]);

            if (!isset($attributes[$this->identity_attribute])) {
                throw new Exception\IdentityAttributeNotFound('identity attribute '.$this->identity_attribute.' not found in oauth2 response');
            }

            $this->identifier = $attributes[$this->identity_attribute];

            if ($this->token_validation_url) {
                $this->attributes = $attributes;
            } else {
                $this->access_token = $token;
            }

            return true;
        }
        $this->logger->error('failed verify oauth2 access token via authorization server, received status ['.$code.']', [
               'category' => get_class($this),
            ]);

        throw new OidcException\InvalidAccessToken('failed verify oauth2 access token via authorization server');
    }
protected function verifyToken(string $token): bool
    {
        if ($this->token_validation_url) {
            $this->logger->debug('validate oauth2 token via rfc7662 token validation endpoint ['.$this->token_validation_url.']', [
               'category' => get_class($this),
            ]);

            $url = str_replace('{token}', $token, $this->token_validation_url);
        } else {
            $discovery = $this->getDiscoveryDocument();
            if (!(isset($discovery['userinfo_endpoint']))) {
                throw new OidcException\UserEndpointNotSet('userinfo_endpoint could not be determained');
            }

            $this->logger->debug('validate token via openid-connect userinfo_endpoint ['.$discovery['userinfo_endpoint'].']', [
               'category' => get_class($this),
            ]);

            $url = $discovery['userinfo_endpoint'].'?access_token='.$token;
        }

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $result = curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);
        $response = json_decode($result, true);

        if (200 === $code) {
            $attributes = json_decode($result, true);
            $this->logger->debug('successfully verified oauth2 access token via authorization server', [
               'category' => get_class($this),
            ]);

            if (!isset($attributes[$this->identity_attribute])) {
                throw new Exception\IdentityAttributeNotFound('identity attribute '.$this->identity_attribute.' not found in oauth2 response');
            }

            $this->identifier = $attributes[$this->identity_attribute];

            if ($this->token_validation_url) {
                $this->attributes = $attributes;
            } else {
                $this->access_token = $token;
            }

            return true;
        }
        $this->logger->error('failed verify oauth2 access token via authorization server, received status ['.$code.']', [
               'category' => get_class($this),
            ]);

        throw new OidcException\InvalidAccessToken('failed verify oauth2 access token via authorization server');
    }
protected function verifyToken ( string $ token ) : bool { if ( $ this -> token_validation_url ) { $ this -> logger -> debug ( 'validate oauth2 token via rfc7662 token validation endpoint [' . $ this -> token_validation_url . ']' , [ 'category' => get_class ( $ this ) , ] ) ; $ url = str_replace ( '{token}' , $ token , $ this -> token_validation_url ) ; } else { $ discovery = $ this -> getDiscoveryDocument ( ) ; if ( ! ( isset ( $ discovery [ 'userinfo_endpoint' ] ) ) ) { throw new OidcException \ UserEndpointNotSet ( 'userinfo_endpoint could not be determained' ) ; } $ this -> logger -> debug ( 'validate token via openid-connect userinfo_endpoint [' . $ discovery [ 'userinfo_endpoint' ] . ']' , [ 'category' => get_class ( $ this ) , ] ) ; $ url = $ discovery [ 'userinfo_endpoint' ] . '?access_token=' . $ token ; } $ ch = curl_init ( ) ; curl_setopt ( $ ch , CURLOPT_URL , $ url ) ; curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER , 1 ) ; $ result = curl_exec ( $ ch ) ; $ code = curl_getinfo ( $ ch , CURLINFO_HTTP_CODE ) ; curl_close ( $ ch ) ; $ response = json_decode ( $ result , true ) ; if ( 200 === $ code ) { $ attributes = json_decode ( $ result , true ) ; $ this -> logger -> debug ( 'successfully verified oauth2 access token via authorization server' , [ 'category' => get_class ( $ this ) , ] ) ; if ( ! isset ( $ attributes [ $ this -> identity_attribute ] ) ) { throw new Exception \ IdentityAttributeNotFound ( 'identity attribute ' . $ this -> identity_attribute . ' not found in oauth2 response' ) ; } $ this -> identifier = $ attributes [ $ this -> identity_attribute ] ; if ( $ this -> token_validation_url ) { $ this -> attributes = $ attributes ; } else { $ this -> access_token = $ token ; } return true ; } $ this -> logger -> error ( 'failed verify oauth2 access token via authorization server, received status [' . $ code . ']' , [ 'category' => get_class ( $ this ) , ] ) ; throw new OidcException \ InvalidAccessToken ( 'failed verify oauth2 access token via authorization server' ) ; }
Token verification.

@param string $token

@return bool
Token verification .