OAuth \ Common \ Http \ Exception \ TokenResponseException
file_get_contents(https://api.twitter.com/oauth/request_token): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized OAuth\Common\Http\Exception\TokenResponseException thrown with message "file_get_contents(https://api.twitter.com/oauth/request_token): failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized " Stacktrace: #2 OAuth\Common\Http\Exception\TokenResponseException in /var/www/fastuser-phone/data/www/phone-900.ru/vendor/lusitanian/oauth/src/OAuth/Common/Http/Client/StreamClient.php:73 #1 OAuth\Common\Http\Client\StreamClient:retrieveResponse in /var/www/fastuser-phone/data/www/phone-900.ru/vendor/lusitanian/oauth/src/OAuth/OAuth1/Service/AbstractService.php:52 #0 OAuth\OAuth1\Service\AbstractService:requestRequestToken in /var/www/fastuser-phone/data/www/phone-900.ru/oauth.php:59
Stack frames (3)
2
OAuth
\
Common
\
Http
\
Exception
\
TokenResponseException
/
vendor
/
lusitanian
/
oauth
/
src
/
OAuth
/
Common
/
Http
/
Client
/
StreamClient.php
73
1
OAuth
\
Common
\
Http
\
Client
\
StreamClient
retrieveResponse
/
vendor
/
lusitanian
/
oauth
/
src
/
OAuth
/
OAuth1
/
Service
/
AbstractService.php
52
0
OAuth
\
OAuth1
\
Service
\
AbstractService
requestRequestToken
/
oauth.php
59
/
var
/
www
/
fastuser-phone
/
data
/
www
/
phone-900.ru
/
vendor
/
lusitanian
/
oauth
/
src
/
OAuth
/
Common
/
Http
/
Client
/
StreamClient.php
 
        if (is_array($requestBody)) {
            $requestBody = http_build_query($requestBody, '', '&');
        }
        $extraHeaders['Content-length'] = 'Content-length: '.strlen($requestBody);
 
        $context = $this->generateStreamContext($requestBody, $extraHeaders, $method);
 
        $level = error_reporting(0);
        $response = file_get_contents($endpoint->getAbsoluteUri(), false, $context);
        error_reporting($level);
        if (false === $response) {
            $lastError = error_get_last();
            if (is_null($lastError)) {
                throw new TokenResponseException(
                    'Failed to request resource. HTTP Code: ' .
                    ((isset($http_response_header[0]))?$http_response_header[0]:'No response')
                );
            }
            throw new TokenResponseException($lastError['message']);
        }
 
        return $response;
    }
 
    private function generateStreamContext($body, $headers, $method)
    {
        return stream_context_create(
            array(
                'http' => array(
                    'method'           => $method,
                    'header'           => implode("\r\n", array_values($headers)),
                    'content'          => $body,
                    'protocol_version' => '1.1',
                    'user_agent'       => $this->userAgent,
                    'max_redirects'    => $this->maxRedirects,
                    'timeout'          => $this->timeout
                ),
            )
        );
/
var
/
www
/
fastuser-phone
/
data
/
www
/
phone-900.ru
/
vendor
/
lusitanian
/
oauth
/
src
/
OAuth
/
OAuth1
/
Service
/
AbstractService.php
        SignatureInterface $signature,
        UriInterface $baseApiUri = null
    ) {
        parent::__construct($credentials, $httpClient, $storage);
 
        $this->signature = $signature;
        $this->baseApiUri = $baseApiUri;
 
        $this->signature->setHashingAlgorithm($this->getSignatureMethod());
    }
 
    /**
     * {@inheritDoc}
     */
    public function requestRequestToken()
    {
        $authorizationHeader = array('Authorization' => $this->buildAuthorizationHeaderForTokenRequest());
        $headers = array_merge($authorizationHeader, $this->getExtraOAuthHeaders());
 
        $responseBody = $this->httpClient->retrieveResponse($this->getRequestTokenEndpoint(), array(), $headers);
 
        $token = $this->parseRequestTokenResponse($responseBody);
        $this->storage->storeAccessToken($this->service(), $token);
 
        return $token;
    }
 
    /**
     * {@inheritdoc}
     */
    public function getAuthorizationUri(array $additionalParameters = array())
    {
        // Build the url
        $url = clone $this->getAuthorizationEndpoint();
        foreach ($additionalParameters as $key => $val) {
            $url->addToQuery($key, $val);
        }
 
        return $url;
    }
/
var
/
www
/
fastuser-phone
/
data
/
www
/
phone-900.ru
/
oauth.php
    $credentials = new OAuth\Common\Consumer\Credentials(
        Config::get("services.{$provider}.id"),
        Config::get("services.{$provider}.secret"),
        App::url("oauth.php?provider={$provider}")
    );
 
    $scope = isset($scopes[$provider]) ? $scopes[$provider] : array();
 
    $storage = new OAuth\Common\Storage\Session;
 
    $factory = new OAuth\ServiceFactory;
 
    // Use cURL
    // $factory->setHttpClient(new OAuth\Common\Http\Client\CurlClient);
 
    $service = $factory->createService($provider, $credentials, $storage, $scope);
 
    if ($provider === 'twitter') {
        if (empty($_GET['oauth_token'])) {
            $oauth_token = $service->requestRequestToken()->getRequestToken();
            $authUrl = $service->getAuthorizationUri(compact('oauth_token'));
        } else {
            try {
                $token = $storage->retrieveAccessToken(ucfirst($provider));
                $service->requestAccessToken(
                    @$_GET['oauth_token'],
                    @$_GET['oauth_verifier'],
                    $token->getRequestTokenSecret()
                );
            } catch(Exception $e) {
                exit('Oauth Retrieve Access Token Error.');
            }
        }
    } else {
        if (empty($_GET['code'])) {
            $authUrl = $service->getAuthorizationUri();
        } else {
            try {
                $state = isset($_GET['state']) ? $_GET['state'] : null;
                $service->requestAccessToken($_GET['code'], $state);

Environment & details:

Key Value
provider twitter
empty
empty
empty
Key Value
lusitanian-oauth-token Array ( )
lusitanian-oauth-state Array ( )
Key Value
HTTPS on
HTTP_HOST phone-900.ru
HTTP_X_REAL_IP 34.204.181.19
HTTP_X_FORWARDED_FOR 34.204.181.19
HTTP_X_FORWARDED_PORT 443
HTTP_X_FORWARDED_PROTO https
HTTP_CONNECTION close
HTTP_ACCEPT */*
HTTP_USER_AGENT claudebot
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE <address>Apache/2.4.56 (Debian) Server at phone-900.ru Port 443</address>
SERVER_SOFTWARE Apache/2.4.56 (Debian)
SERVER_NAME phone-900.ru
SERVER_ADDR 127.0.0.1
SERVER_PORT 443
REMOTE_ADDR 34.204.181.19
DOCUMENT_ROOT /var/www/fastuser-phone/data/www/phone-900.ru
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /var/www/fastuser-phone/data/www/phone-900.ru
SERVER_ADMIN admin@phone-900.ru
SCRIPT_FILENAME /var/www/fastuser-phone/data/www/phone-900.ru/oauth.php
REMOTE_PORT 42088
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.0
REQUEST_METHOD GET
QUERY_STRING provider=twitter
REQUEST_URI /oauth.php?provider=twitter
SCRIPT_NAME /oauth.php
PHP_SELF /oauth.php
REQUEST_TIME_FLOAT 1710815327.1827
REQUEST_TIME 1710815327
empty
0. Whoops\Handler\PrettyPageHandler