$errorNumber = curl_errno($curlResource); $errorMessage = curl_error($curlResource); curl_close($curlResource); if ($errorNumber > 0) { throw new Exception('Curl error requesting "' . $url . '": #' . $errorNumber . ' - ' . $errorMessage); } if (strncmp($responseHeaders['http_code'], '20', 2) !== 0) { throw new InvalidResponseException($responseHeaders, $response, 'Request failed with code: ' . $responseHeaders['http_code'] . ', message: ' . $response); } return $this->processResponse($response, $this->determineContentTypeByHeaders($responseHeaders)); } /** * Merge CUrl options. * If each options array has an element with the same key value, the latter * will overwrite the former.
*/ protected function sendSignedRequest($method, $url, array $params = [], array $headers = []) { $params = array_merge($params, $this->generateCommonRequestParams()); $params = $this->signRequest($method, $url, $params); return $this->sendRequest($method, $url, $params, $headers); } /** * Composes HTTP request CUrl options, which will be merged with the default ones. * @param string $method request type. * @param string $url request URL.
'oauth_callback' => $this->getReturnUrl(), //'xoauth_displayname' => Yii::$app->name, ]; if (!empty($this->scope)) { $defaultParams['scope'] = $this->scope; } $response = $this->sendSignedRequest($this->requestTokenMethod, $this->requestTokenUrl, array_merge($defaultParams, $params)); $token = $this->createToken([ 'params' => $response ]); $this->setState('requestToken', $token); return $token;
if (isset($_REQUEST['oauth_token'])) { $oauthToken = $_REQUEST['oauth_token']; } if (!isset($oauthToken)) { // Get request token. $requestToken = $client->fetchRequestToken(); // Get authorization URL. $url = $client->buildAuthUrl($requestToken); // Redirect to authorization URL. return Yii::$app->getResponse()->redirect($url); } else { // Upgrade to access token.
{ if ($client instanceof OpenId) { return $this->authOpenId($client); } elseif ($client instanceof OAuth2) { return $this->authOAuth2($client); } elseif ($client instanceof OAuth1) { return $this->authOAuth1($client); } else { throw new NotSupportedException('Provider "' . get_class($client) . '" is not supported.'); } } /**
$collection = Yii::$app->get($this->clientCollection); if (!$collection->hasClient($clientId)) { throw new NotFoundHttpException("Unknown auth client '{$clientId}'"); } $client = $collection->getClient($clientId); return $this->auth($client); } else { throw new NotFoundHttpException(); } } /**
$args = $this->controller->bindActionParams($this, $params); Yii::trace('Running action: ' . get_class($this) . '::run()', __METHOD__); if (Yii::$app->requestedParams === null) { Yii::$app->requestedParams = $args; } if ($this->beforeRun()) { $result = call_user_func_array([$this, 'run'], $args); $this->afterRun(); return $result; } else { return null; }
} $result = null; if ($runAction && $this->beforeAction($action)) { // run the action $result = $action->runWithParams($params); $result = $this->afterAction($action, $result); // call afterAction on modules foreach ($modules as $module) { /* @var $module Module */
$parts = $this->createController($route); if (is_array($parts)) { /* @var $controller Controller */ list($controller, $actionID) = $parts; $oldController = Yii::$app->controller; Yii::$app->controller = $controller; $result = $controller->runAction($actionID, $params); Yii::$app->controller = $oldController; return $result; } else { $id = $this->getUniqueId(); throw new InvalidRouteException('Unable to resolve the request "' . ($id === '' ? $route : $id . '/' . $route) . '".');
$params = $this->catchAll; unset($params[0]); } try { Yii::trace("Route requested: '$route'", __METHOD__); $this->requestedRoute = $route; $result = $this->runAction($route, $params); if ($result instanceof Response) { return $result; } else { $response = $this->getResponse(); if ($result !== null) { $response->data = $result;
try { $this->state = self::STATE_BEFORE_REQUEST; $this->trigger(self::EVENT_BEFORE_REQUEST); $this->state = self::STATE_HANDLING_REQUEST; $response = $this->handleRequest($this->getRequest()); $this->state = self::STATE_AFTER_REQUEST; $this->trigger(self::EVENT_AFTER_REQUEST); $this->state = self::STATE_SENDING_RESPONSE; $response->send();
} //die(); $_SESSION['last_action'] = time(); // Updating last action time in session $application->run();
$_GET = [ 'authclient' => 'twitter', ]; $_COOKIE = [ 'user_device' => 'bot', ]; $_SESSION = [ '__flash' => [], 'current_action' => 1710811486, 'device' => 'bot', 'last_action' => 1710811486, ];