Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RequestToken.php
Go to the documentation of this file.
1 <?php
23 #require_once 'Zend/Oauth/Http.php';
24 
26 #require_once 'Zend/Oauth/Token/Request.php';
27 
35 {
41  protected $_httpClient = null;
42 
48  public function execute()
49  {
50  $params = $this->assembleParams();
52  $return = new Zend_Oauth_Token_Request($response);
53  return $return;
54  }
55 
61  public function assembleParams()
62  {
63  $params = array(
64  'oauth_consumer_key' => $this->_consumer->getConsumerKey(),
65  'oauth_nonce' => $this->_httpUtility->generateNonce(),
66  'oauth_timestamp' => $this->_httpUtility->generateTimestamp(),
67  'oauth_signature_method' => $this->_consumer->getSignatureMethod(),
68  'oauth_version' => $this->_consumer->getVersion(),
69  );
70 
71  // indicates we support 1.0a
72  if ($this->_consumer->getCallbackUrl()) {
73  $params['oauth_callback'] = $this->_consumer->getCallbackUrl();
74  } else {
75  $params['oauth_callback'] = 'oob';
76  }
77 
78  if (!empty($this->_parameters)) {
79  $params = array_merge($params, $this->_parameters);
80  }
81 
82  $params['oauth_signature'] = $this->_httpUtility->sign(
83  $params,
84  $this->_consumer->getSignatureMethod(),
85  $this->_consumer->getConsumerSecret(),
86  null,
88  $this->_consumer->getRequestTokenUrl()
89  );
90 
91  return $params;
92  }
93 
101  public function getRequestSchemeHeaderClient(array $params)
102  {
103  $headerValue = $this->_httpUtility->toAuthorizationHeader(
104  $params
105  );
106  $client = Zend_Oauth::getHttpClient();
107  $client->setUri($this->_consumer->getRequestTokenUrl());
108  $client->setHeaders('Authorization', $headerValue);
109  $rawdata = $this->_httpUtility->toEncodedQueryString($params, true);
110  if (!empty($rawdata)) {
111  $client->setRawData($rawdata, 'application/x-www-form-urlencoded');
112  }
113  $client->setMethod($this->_preferredRequestMethod);
114  return $client;
115  }
116 
125  {
126  $client = Zend_Oauth::getHttpClient();
127  $client->setUri($this->_consumer->getRequestTokenUrl());
128  $client->setMethod($this->_preferredRequestMethod);
129  $client->setRawData(
130  $this->_httpUtility->toEncodedQueryString($params)
131  );
132  $client->setHeaders(
135  );
136  return $client;
137  }
138 
146  protected function _attemptRequest(array $params)
147  {
148  switch ($this->_preferredRequestScheme) {
150  $httpClient = $this->getRequestSchemeHeaderClient($params);
151  break;
153  $httpClient = $this->getRequestSchemePostBodyClient($params);
154  break;
156  $httpClient = $this->getRequestSchemeQueryStringClient($params,
157  $this->_consumer->getRequestTokenUrl());
158  break;
159  }
160  return $httpClient->request();
161  }
162 }
$_preferredRequestMethod
Definition: Http.php:65
$response
Definition: 404.php:11
const REQUEST_SCHEME_HEADER
Definition: Oauth.php:33
const ENC_URLENCODED
Definition: Client.php:109
const CONTENT_TYPE
Definition: Client.php:103
getRequestSchemeQueryStringClient(array $params, $url)
Definition: Http.php:204
const REQUEST_SCHEME_QUERYSTRING
Definition: Oauth.php:35
static getHttpClient()
Definition: Oauth.php:69
startRequestCycle(array $params)
Definition: Http.php:169
getRequestSchemeHeaderClient(array $params)
getRequestSchemePostBodyClient(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
const REQUEST_SCHEME_POSTBODY
Definition: Oauth.php:34