Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Zend_Oauth_Http_AccessToken Class Reference
Inheritance diagram for Zend_Oauth_Http_AccessToken:
Zend_Oauth_Http

Public Member Functions

 execute ()
 
 assembleParams ()
 
 getRequestSchemeHeaderClient (array $params)
 
 getRequestSchemePostBodyClient (array $params)
 
 getRequestSchemeQueryStringClient (array $params, $url)
 
- Public Member Functions inherited from Zend_Oauth_Http
 __construct (Zend_Oauth_Consumer $consumer, array $parameters=null, Zend_Oauth_Http_Utility $utility=null)
 
 setMethod ($method)
 
 getMethod ()
 
 setParameters (array $customServiceParameters)
 
 getParameters ()
 
 getConsumer ()
 
 startRequestCycle (array $params)
 
 getRequestSchemeQueryStringClient (array $params, $url)
 

Protected Member Functions

 _attemptRequest (array $params)
 
 _cleanParamsOfIllegalCustomParameters (array $params)
 
- Protected Member Functions inherited from Zend_Oauth_Http
 _assessRequestAttempt (Zend_Http_Response $response=null)
 
 _toAuthorizationHeader (array $params, $realm=null)
 

Protected Attributes

 $_httpClient = null
 
- Protected Attributes inherited from Zend_Oauth_Http
 $_parameters = array()
 
 $_consumer = null
 
 $_preferredRequestScheme = null
 
 $_preferredRequestMethod = Zend_Oauth::POST
 
 $_httpUtility = null
 

Detailed Description

Definition at line 34 of file AccessToken.php.

Member Function Documentation

◆ _attemptRequest()

_attemptRequest ( array  $params)
protected

Attempt a request based on the current configured OAuth Request Scheme and return the resulting HTTP Response.

Parameters
array$params
Returns
Zend_Http_Response

Definition at line 152 of file AccessToken.php.

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  }
const REQUEST_SCHEME_HEADER
Definition: Oauth.php:33
getRequestSchemeQueryStringClient(array $params, $url)
const REQUEST_SCHEME_QUERYSTRING
Definition: Oauth.php:35
getRequestSchemeHeaderClient(array $params)
Definition: AccessToken.php:95
getRequestSchemePostBodyClient(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
const REQUEST_SCHEME_POSTBODY
Definition: Oauth.php:34

◆ _cleanParamsOfIllegalCustomParameters()

_cleanParamsOfIllegalCustomParameters ( array  $params)
protected

Access Token requests specifically may not contain non-OAuth parameters. So these should be striped out and excluded. Detection is easy since specified OAuth parameters start with "oauth_", Extension params start with "xouth_", and no other parameters should use these prefixes.

xouth params are not currently allowable.

Parameters
array$params
Returns
array

Definition at line 180 of file AccessToken.php.

181  {
182  foreach ($params as $key=>$value) {
183  if (!preg_match("/^oauth_/", $key)) {
184  unset($params[$key]);
185  }
186  }
187  return $params;
188  }
$value
Definition: gender.phtml:16
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ assembleParams()

assembleParams ( )

Assemble all parameters for an OAuth Access Token request.

Returns
array

Definition at line 61 of file AccessToken.php.

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  }
$_preferredRequestMethod
Definition: Http.php:65
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ execute()

execute ( )

Initiate a HTTP request to retrieve an Access Token.

Returns
Zend_Oauth_Token_Access

Definition at line 48 of file AccessToken.php.

49  {
50  $params = $this->assembleParams();
52  $return = new Zend_Oauth_Token_Access($response);
53  return $return;
54  }
$response
Definition: 404.php:11
startRequestCycle(array $params)
Definition: Http.php:169
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ getRequestSchemeHeaderClient()

getRequestSchemeHeaderClient ( array  $params)

Generate and return a HTTP Client configured for the Header Request Scheme specified by OAuth, for use in requesting an Access Token.

Parameters
array$params
Returns
Zend_Http_Client

Definition at line 95 of file AccessToken.php.

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  }
static getHttpClient()
Definition: Oauth.php:69
_toAuthorizationHeader(array $params, $realm=null)
Definition: Http.php:251
_cleanParamsOfIllegalCustomParameters(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ getRequestSchemePostBodyClient()

getRequestSchemePostBodyClient ( array  $params)

Generate and return a HTTP Client configured for the POST Body Request Scheme specified by OAuth, for use in requesting an Access Token.

Parameters
array$params
Returns
Zend_Http_Client

Definition at line 115 of file AccessToken.php.

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  }
const ENC_URLENCODED
Definition: Client.php:109
const CONTENT_TYPE
Definition: Client.php:103
static getHttpClient()
Definition: Oauth.php:69
_cleanParamsOfIllegalCustomParameters(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

◆ getRequestSchemeQueryStringClient()

getRequestSchemeQueryStringClient ( array  $params,
  $url 
)

Generate and return a HTTP Client configured for the Query String Request Scheme specified by OAuth, for use in requesting an Access Token.

Parameters
array$params
string$url
Returns
Zend_Http_Client

Definition at line 139 of file AccessToken.php.

140  {
142  return parent::getRequestSchemeQueryStringClient($params, $url);
143  }
_cleanParamsOfIllegalCustomParameters(array $params)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18

Field Documentation

◆ $_httpClient

$_httpClient = null
protected

Definition at line 41 of file AccessToken.php.


The documentation for this class was generated from the following file: