103 \
Magento\Framework\Data\Collection\AbstractDb $resourceCollection =
null,
107 $this->_keyLengthFactory = $keyLengthFactory;
108 $this->_urlValidator = $urlValidator;
109 $this->_consumerFactory = $consumerFactory;
110 $this->_oauthData = $oauthData;
111 $this->_oauthHelper = $oauthHelper;
134 if ($this->_oauthData->isCleanupProbability()) {
135 $this->
_getResource()->deleteOldEntries($this->_oauthData->getCleanupExpirationPeriod());
148 $tokenData = $this->
getResource()->selectTokenByType($consumerId, self::TYPE_VERIFIER);
149 $this->
setData($tokenData ? $tokenData : []);
150 if (!$this->
getId()) {
153 'consumer_id' => $consumerId,
154 'type' => self::TYPE_VERIFIER,
155 'token' => $this->_oauthHelper->generateToken(),
156 'secret' => $this->_oauthHelper->generateTokenSecret(),
157 'verifier' => $this->_oauthHelper->generateVerifier(),
158 'callback_url' => OauthHelper::CALLBACK_ESTABLISHED,
176 if (self::TYPE_REQUEST != $this->getType()) {
177 throw new OauthException(
__(
'Cannot convert to access token due to token is not request type'));
190 $this->setAdminId($userId);
202 $this->setCustomerId($userId);
215 $callbackUrl = !empty($callbackUrl) ? $callbackUrl : OauthHelper::CALLBACK_ESTABLISHED;
218 'entity_id' => $entityId,
219 'type' => self::TYPE_REQUEST,
220 'token' => $this->_oauthHelper->generateToken(),
221 'secret' => $this->_oauthHelper->generateTokenSecret(),
222 'callback_url' => $callbackUrl,
239 return http_build_query([
'oauth_token' => $this->getToken(),
'oauth_token_secret' => $this->getSecret()]);
248 public function validate()
250 if (OauthHelper::CALLBACK_ESTABLISHED != $this->getCallbackUrl() && !$this->_urlValidator->isValid(
251 $this->getCallbackUrl()
254 $messages = $this->_urlValidator->getMessages();
255 throw new OauthException(
__(array_shift($messages)));
259 $validatorLength = $this->_keyLengthFactory->create();
260 $validatorLength->setLength(OauthHelper::LENGTH_TOKEN_SECRET);
261 $validatorLength->setName(
'Token Secret Key');
262 if (!$validatorLength->isValid($this->getSecret())) {
263 $messages = $validatorLength->getMessages();
264 throw new OauthException(
__(array_shift($messages)));
267 $validatorLength->setLength(OauthHelper::LENGTH_TOKEN);
268 $validatorLength->setName(
'Token Key');
269 if (!$validatorLength->isValid($this->getToken())) {
270 $messages = $validatorLength->getMessages();
271 throw new OauthException(
__(array_shift($messages)));
275 $validatorLength->setLength(OauthHelper::LENGTH_TOKEN_VERIFIER);
276 $validatorLength->setName(
'Verifier Key');
277 if (!$validatorLength->isValid($verifier)) {
278 $messages = $validatorLength->getMessages();
279 throw new OauthException(
__(array_shift($messages)));
292 return $this->
getData(
'verifier');
303 $this->setUserType($userType);
304 $this->setType(self::TYPE_ACCESS);
305 $this->setToken($this->_oauthHelper->generateToken());
306 $this->setSecret($this->_oauthHelper->generateTokenSecret());
307 return $this->
save();
319 $tokenData = $this->
getResource()->selectTokenByConsumerIdAndUserType($consumerId, $userType);
320 $this->
setData($tokenData ? $tokenData : []);
332 $tokenData = $this->
getResource()->selectTokenByAdminId($adminId);
333 $this->
setData($tokenData ? $tokenData : []);
346 $this->
setData($tokenData ? $tokenData : []);
setData($key, $value=null)
getData($key='', $index=null)
loadByConsumerIdAndUserType($consumerId, $userType)
saveAccessToken($userType)
createVerifierToken($consumerId)
load($modelId, $field=null)
createCustomerToken($userId)
createAdminToken($userId)
loadByCustomerId($customerId)
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Integration\Model\Oauth\Consumer\Validator\KeyLengthFactory $keyLengthFactory, \Magento\Framework\Url\Validator $urlValidator, \Magento\Integration\Model\Oauth\ConsumerFactory $consumerFactory, \Magento\Integration\Helper\Oauth\Data $oauthData, OauthHelper $oauthHelper, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])
const USER_TYPE_INTEGRATION
createRequestToken($entityId, $callbackUrl)