/** * {@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.')); } }
/** * 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; }
/** * 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(); }
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'); }
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()); }
/** * {@inheritdoc} */ public function generateNonce(ConsumerInterface $consumer = null) { return $this->_oauthHelper->generateRandomString($this->_nonceLength); }
public function testGenerateConsumerSecret() { $token = $this->_oauthHelper->generateConsumerSecret(); $this->assertTrue(is_string($token) && strlen($token) === Oauth::LENGTH_CONSUMER_SECRET); }