Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AccessToken.php
Go to the documentation of this file.
1 <?php
23 #require_once 'Zend/Oauth/Http.php';
24 
26 #require_once 'Zend/Oauth/Token/Access.php';
27 
35 {
41  protected $_httpClient = null;
42 
48  public function execute()
49  {
50  $params = $this->assembleParams();
52  $return = new Zend_Oauth_Token_Access($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_signature_method' => $this->_consumer->getSignatureMethod(),
67  'oauth_timestamp' => $this->_httpUtility->generateTimestamp(),
68  'oauth_token' => $this->_consumer->getLastRequestToken()->getToken(),
69  'oauth_version' => $this->_consumer->getVersion(),
70  );
71 
72  if (!empty($this->_parameters)) {
73  $params = array_merge($params, $this->_parameters);
74  }
75 
76  $params['oauth_signature'] = $this->_httpUtility->sign(
77  $params,
78  $this->_consumer->getSignatureMethod(),
79  $this->_consumer->getConsumerSecret(),
80  $this->_consumer->getLastRequestToken()->getTokenSecret(),
82  $this->_consumer->getAccessTokenUrl()
83  );
84 
85  return $params;
86  }
87 
95  public function getRequestSchemeHeaderClient(array $params)
96  {
98  $headerValue = $this->_toAuthorizationHeader($params);
99  $client = Zend_Oauth::getHttpClient();
100 
101  $client->setUri($this->_consumer->getAccessTokenUrl());
102  $client->setHeaders('Authorization', $headerValue);
103  $client->setMethod($this->_preferredRequestMethod);
104 
105  return $client;
106  }
107 
116  {
118  $client = Zend_Oauth::getHttpClient();
119  $client->setUri($this->_consumer->getAccessTokenUrl());
120  $client->setMethod($this->_preferredRequestMethod);
121  $client->setRawData(
122  $this->_httpUtility->toEncodedQueryString($params)
123  );
124  $client->setHeaders(
127  );
128  return $client;
129  }
130 
140  {
142  return parent::getRequestSchemeQueryStringClient($params, $url);
143  }
144 
152  protected function _attemptRequest(array $params)
153  {
154  switch ($this->_preferredRequestScheme) {
156  $httpClient = $this->getRequestSchemeHeaderClient($params);
157  break;
159  $httpClient = $this->getRequestSchemePostBodyClient($params);
160  break;
162  $httpClient = $this->getRequestSchemeQueryStringClient($params,
163  $this->_consumer->getAccessTokenUrl());
164  break;
165  }
166  return $httpClient->request();
167  }
168 
181  {
182  foreach ($params as $key=>$value) {
183  if (!preg_match("/^oauth_/", $key)) {
184  unset($params[$key]);
185  }
186  }
187  return $params;
188  }
189 }
$_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
getRequestSchemeQueryStringClient(array $params, $url)
const CONTENT_TYPE
Definition: Client.php:103
$value
Definition: gender.phtml:16
const REQUEST_SCHEME_QUERYSTRING
Definition: Oauth.php:35
getRequestSchemeHeaderClient(array $params)
Definition: AccessToken.php:95
static getHttpClient()
Definition: Oauth.php:69
getRequestSchemePostBodyClient(array $params)
startRequestCycle(array $params)
Definition: Http.php:169
_attemptRequest(array $params)
_toAuthorizationHeader(array $params, $realm=null)
Definition: Http.php:251
_cleanParamsOfIllegalCustomParameters(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
const REQUEST_SCHEME_POSTBODY
Definition: Oauth.php:34