Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function createConsumer($consumerData)
 {
     try {
         $consumerData['key'] = $this->_oauthHelper->generateConsumerKey();
         $consumerData['secret'] = $this->_oauthHelper->generateConsumerSecret();
         $consumer = $this->_consumerFactory->create($consumerData);
         $consumer->save();
         return $consumer;
     } catch (\Magento\Framework\Exception\LocalizedException $exception) {
         throw $exception;
     } catch (\Exception $exception) {
         throw new \Magento\Framework\Oauth\Exception(__('Unexpected error. Unable to create oAuth consumer account.'));
     }
 }
Ejemplo n.º 2
0
 /**
  * Generate and save request token
  *
  * @param int $entityId Token identifier
  * @param string $callbackUrl Callback URL
  * @return $this
  */
 public function createRequestToken($entityId, $callbackUrl)
 {
     $callbackUrl = !empty($callbackUrl) ? $callbackUrl : OauthHelper::CALLBACK_ESTABLISHED;
     $this->setData(array('entity_id' => $entityId, 'type' => self::TYPE_REQUEST, 'token' => $this->_oauthHelper->generateToken(), 'secret' => $this->_oauthHelper->generateTokenSecret(), 'callback_url' => $callbackUrl));
     $this->save();
     return $this;
 }
Ejemplo n.º 3
0
 /**
  * Generate and save access token for a given user type
  *
  * @param int $userType
  * @return $this
  */
 protected function saveAccessToken($userType)
 {
     $this->setUserType($userType);
     $this->setType(self::TYPE_ACCESS);
     $this->setToken($this->_oauthHelper->generateToken());
     $this->setSecret($this->_oauthHelper->generateTokenSecret());
     return $this->save();
 }
Ejemplo n.º 4
0
 public function testBuildAuthorizationHeader()
 {
     $signature = 'valid_signature';
     $this->_httpUtilityMock->expects($this->any())->method('sign')->will($this->returnValue($signature));
     $this->_setupConsumer(false);
     $this->_oauthHelperMock->expects($this->any())->method('generateRandomString')->will($this->returnValue('tyukmnjhgfdcvxstyuioplkmnhtfvert'));
     $request = ['oauth_consumer_key' => 'edf957ef88492f0a32eb7e1731e85da2', 'oauth_consumer_secret' => 'asdawwewefrtyh2f0a32eb7e1731e85d', 'oauth_token' => '7c0709f789e1f38a17aa4b9a28e1b06c', 'oauth_token_secret' => 'a6agsfrsfgsrjjjjyy487939244ssggg', 'custom_param1' => 'foo', 'custom_param2' => 'bar'];
     $requestUrl = 'http://www.example.com/endpoint';
     $oauthHeader = $this->_oauth->buildAuthorizationHeader($request, $requestUrl);
     $expectedHeader = 'OAuth oauth_nonce="tyukmnjhgfdcvxstyuioplkmnhtfvert",' . 'oauth_timestamp="",' . 'oauth_version="1.0",oauth_consumer_key="edf957ef88492f0a32eb7e1731e85da2",' . 'oauth_consumer_secret="asdawwewefrtyh2f0a32eb7e1731e85d",' . 'oauth_token="7c0709f789e1f38a17aa4b9a28e1b06c",' . 'oauth_token_secret="a6agsfrsfgsrjjjjyy487939244ssggg",' . 'oauth_signature="valid_signature"';
     $this->assertEquals($expectedHeader, $oauthHeader, 'Generated Oauth header is incorrect');
 }
Ejemplo n.º 5
0
 public function testCreateRequestToken()
 {
     $entityId = 1;
     $callbackUrl = OauthHelper::CALLBACK_ESTABLISHED;
     $token = 'token';
     $secret = 'secret';
     $this->oauthHelperMock->expects($this->once())->method('generateTokenSecret')->willReturn($secret);
     $this->oauthHelperMock->expects($this->once())->method('generateToken')->willReturn($token);
     $this->tokenModel->setCallbackUrl($callbackUrl);
     $this->keyLengthFactoryMock->expects($this->once())->method('create')->willReturn($this->validatorKeyLengthMock);
     $this->validatorKeyLengthMock->expects($this->exactly(2))->method('setLength');
     $this->validatorKeyLengthMock->expects($this->exactly(2))->method('setName');
     $this->validatorKeyLengthMock->expects($this->exactly(2))->method('isValid')->willReturn(true);
     $this->resourceMock->expects($this->once())->method('save');
     $actualToken = $this->tokenModel->createRequestToken($entityId, $callbackUrl);
     $this->assertEquals($this->tokenModel, $actualToken);
     $this->assertEquals($this->tokenModel->getSecret(), $actualToken->getSecret());
     $this->assertEquals($this->tokenModel->getToken(), $actualToken->getToken());
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function generateNonce(ConsumerInterface $consumer = null)
 {
     return $this->_oauthHelper->generateRandomString($this->_nonceLength);
 }
Ejemplo n.º 7
0
 public function testGenerateConsumerSecret()
 {
     $token = $this->_oauthHelper->generateConsumerSecret();
     $this->assertTrue(is_string($token) && strlen($token) === Oauth::LENGTH_CONSUMER_SECRET);
 }