41 Helper\
Oauth $oauthHelper,
46 $this->_oauthHelper = $oauthHelper;
47 $this->_nonceGenerator = $nonceGenerator;
48 $this->_tokenProvider = $tokenProvider;
50 $this->_httpUtility = $httpUtility ?: new \Zend_Oauth_Http_Utility();
69 $consumer = $this->_tokenProvider->getConsumerByKey(
$params[
'oauth_consumer_key']);
70 $this->_tokenProvider->validateConsumer($consumer);
73 return $this->_tokenProvider->createRequestToken($consumer);
84 'oauth_signature_method',
92 $consumer = $this->_tokenProvider->getConsumerByKey(
$params[
'oauth_consumer_key']);
93 $tokenSecret = $this->_tokenProvider->validateRequestToken(
101 return $this->_tokenProvider->getAccessToken($consumer);
110 'oauth_consumer_key',
112 'oauth_signature_method',
119 $consumer = $this->_tokenProvider->getConsumerByKey(
$params[
'oauth_consumer_key']);
120 $tokenSecret = $this->_tokenProvider->validateAccessTokenRequest(
$params[
'oauth_token'], $consumer);
124 return $consumer->getId();
132 return $this->_tokenProvider->validateAccessToken($accessToken);
141 $signatureMethod = self::SIGNATURE_SHA1,
144 $required = [
"oauth_consumer_key",
"oauth_consumer_secret",
"oauth_token",
"oauth_token_secret"];
146 $consumer = $this->_tokenProvider->getConsumerByKey(
$params[
'oauth_consumer_key']);
147 $headerParameters = [
148 'oauth_nonce' => $this->_nonceGenerator->generateNonce($consumer),
149 'oauth_timestamp' => $this->_nonceGenerator->generateTimestamp(),
150 'oauth_version' =>
'1.0',
152 $headerParameters = array_merge($headerParameters,
$params);
153 $headerParameters[
'oauth_signature'] = $this->_httpUtility->sign(
156 $headerParameters[
'oauth_consumer_secret'],
157 $headerParameters[
'oauth_token_secret'],
161 $authorizationHeader = $this->_httpUtility->toAuthorizationHeader($headerParameters);
164 return str_replace(
'realm="",',
'', $authorizationHeader);
180 if (!in_array(
$params[
'oauth_signature_method'], self::getSupportedSignatureMethods())) {
183 'Signature method %1 is not supported',
184 [
$params[
'oauth_signature_method']]
190 unset($allowedSignParams[
'oauth_signature']);
192 $calculatedSign = $this->_httpUtility->sign(
194 $params[
'oauth_signature_method'],
202 throw new Exception(
new Phrase(
'The signatire is invalid. Verify and try again.'));
232 if (isset($protocolParams[
'oauth_version'])) {
237 if (empty($requiredParams)) {
239 "oauth_consumer_key",
241 "oauth_signature_method",
249 $protocolParams[
'oauth_token']
250 ) && !$this->_tokenProvider->validateOauthToken(
251 $protocolParams[
'oauth_token']
258 if (!in_array($protocolParams[
'oauth_signature_method'], self::getSupportedSignatureMethods())) {
261 'Signature method %1 is not supported',
262 [$protocolParams[
'oauth_signature_method']]
267 $consumer = $this->_tokenProvider->getConsumerByKey($protocolParams[
'oauth_consumer_key']);
268 $this->_nonceGenerator->validateNonce(
270 $protocolParams[
'oauth_nonce'],
271 $protocolParams[
'oauth_timestamp']
286 foreach ($requiredParams as $param) {
287 if (!isset($protocolParams[$param])) {
288 $exception->addError(
289 new Phrase(
'"%fieldName" is required. Enter and try again.', [
'fieldName' => $param])
293 if ($exception->wasErrorAdded()) {
buildAuthorizationHeader( $params, $requestUrl, $signatureMethod=self::SIGNATURE_SHA1, $httpMethod='POST')
getAccessToken($params, $requestUrl, $httpMethod='POST')
validateAccessTokenRequest($params, $requestUrl, $httpMethod='POST')
static getSupportedSignatureMethods()
_checkRequiredParams($protocolParams, $requiredParams)
validateAccessToken($accessToken)
__construct(Helper\Oauth $oauthHelper, NonceGeneratorInterface $nonceGenerator, TokenProviderInterface $tokenProvider, \Zend_Oauth_Http_Utility $httpUtility=null)
_validateVersionParam($version)
static compareStrings($expected, $actual)
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
_validateSignature($params, $consumerSecret, $httpMethod, $requestUrl, $tokenSecret=null)
_validateProtocolParams($protocolParams, $requiredParams=[])
getRequestToken($params, $requestUrl, $httpMethod='POST')