Skip to content

Commit 5756248

Browse files
committed
AC-520: Oauth token improvement.
Added AfterSaveMethod for Consumer and Token Model. Refactoring Integration tests.
1 parent fe076cf commit 5756248

File tree

5 files changed

+30
-33
lines changed

5 files changed

+30
-33
lines changed

app/code/Magento/Integration/Model/Oauth/Token.php

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
use Magento\Integration\Api\UserTokenReaderInterface;
1616
use Magento\Integration\Model\CustomUserContext;
1717
use Magento\Integration\Model\ResourceModel\Oauth\Token\Collection as TokenCollection;
18-
use Magento\Integration\Model\ResourceModel\Oauth\Token as TokenResourceModel;
1918

2019
/**
2120
* oAuth token model
@@ -100,11 +99,6 @@ class Token extends \Magento\Framework\Model\AbstractModel
10099
*/
101100
private $tokenParamsFactory;
102101

103-
/**
104-
* @var TokenResourceModel
105-
*/
106-
private $tokenResourceModel;
107-
108102
/**
109103
* Initialize dependencies.
110104
*
@@ -121,7 +115,6 @@ class Token extends \Magento\Framework\Model\AbstractModel
121115
* @param UserTokenReaderInterface|null $reader
122116
* @param UserTokenIssuerInterface|null $issuer
123117
* @param UserTokenParametersInterfaceFactory|null $paramsFactory
124-
* @param TokenResourceModel|null $tokenResourceModel
125118
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
126119
*/
127120
public function __construct(
@@ -137,8 +130,7 @@ public function __construct(
137130
array $data = [],
138131
?UserTokenReaderInterface $reader = null,
139132
?UserTokenIssuerInterface $issuer = null,
140-
?UserTokenParametersInterfaceFactory $paramsFactory = null,
141-
?TokenResourceModel $tokenResourceModel = null
133+
?UserTokenParametersInterfaceFactory $paramsFactory = null
142134
) {
143135
parent::__construct($context, $registry, $resource, $resourceCollection, $data);
144136
$this->_keyLengthFactory = $keyLengthFactory;
@@ -150,8 +142,6 @@ public function __construct(
150142
$this->issuer = $issuer ?? ObjectManager::getInstance()->get(UserTokenIssuerInterface::class);
151143
$this->tokenParamsFactory = $paramsFactory ??
152144
ObjectManager::getInstance()->get(UserTokenParametersInterfaceFactory::class);
153-
$this->tokenResourceModel = $tokenResourceModel ??
154-
ObjectManager::getInstance()->get(TokenResourceModel::class);
155145
}
156146

157147
/**
@@ -219,12 +209,7 @@ public function convertToAccess()
219209
if (self::TYPE_REQUEST != $this->getType()) {
220210
throw new OauthException(__('Cannot convert to access token due to token is not request type'));
221211
}
222-
$this->tokenResourceModel->afterLoad(
223-
$this->saveAccessToken(
224-
UserContextInterface::USER_TYPE_INTEGRATION
225-
)
226-
);
227-
return $this;
212+
return $this->saveAccessToken(UserContextInterface::USER_TYPE_INTEGRATION);
228213
}
229214

230215
/**

app/code/Magento/Integration/Model/ResourceModel/Oauth/Consumer.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
use Magento\Framework\App\ObjectManager;
99
use Magento\Framework\Encryption\Encryptor;
10-
use Magento\Framework\Oauth\Helper\Oauth as OauthHelper;
1110

1211
class Consumer extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
1312
{
@@ -80,11 +79,10 @@ public function getTimeInSecondsSinceCreation($consumerId)
8079
*/
8180
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
8281
{
83-
$existingSecret = $object->getSecret();
8482
$entityId = $object->getEntityId();
8583

86-
if (!$entityId && $existingSecret && strlen($existingSecret) <= OauthHelper::LENGTH_TOKEN_SECRET) {
87-
$object->setSecret($this->encryptor->encrypt($existingSecret));
84+
if (!$entityId && $object->getSecret()) {
85+
$object->setSecret($this->encryptor->encrypt($object->getSecret()));
8886
}
8987

9088
return parent::_beforeSave($object);
@@ -95,12 +93,18 @@ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
9593
*/
9694
protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
9795
{
98-
$existingSecret = $object->getSecret();
99-
100-
if (strlen($existingSecret) > OauthHelper::LENGTH_CONSUMER_SECRET) {
101-
$object->setSecret($this->encryptor->decrypt($existingSecret));
102-
}
96+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
10397

10498
return parent::_afterLoad($object);
10599
}
100+
101+
/**
102+
* @inheritdoc
103+
*/
104+
protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
105+
{
106+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
107+
108+
return parent::_afterSave($object);
109+
}
106110
}

app/code/Magento/Integration/Model/ResourceModel/Oauth/Token.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,13 +227,21 @@ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
227227
protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
228228
{
229229
if ($object->getType() === \Magento\Integration\Model\Oauth\Token::TYPE_ACCESS) {
230-
$existingSecret = $object->getSecret();
230+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
231+
}
231232

232-
if (strlen($existingSecret) > OauthHelper::LENGTH_TOKEN_SECRET) {
233-
$object->setSecret($this->encryptor->decrypt($existingSecret));
234-
}
233+
return parent::_afterLoad($object);
234+
}
235235

236+
/**
237+
* @inheritdoc
238+
*/
239+
protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
240+
{
241+
if ($object->getType() === \Magento\Integration\Model\Oauth\Token::TYPE_ACCESS) {
242+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
236243
}
237-
return parent::_afterLoad($object);
244+
245+
return parent::_afterSave($object);
238246
}
239247
}

dev/tests/integration/testsuite/Magento/Integration/Model/ResourceModel/Oauth/ConsumerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ public function testSave(): void
6969
]
7070
)->save();
7171

72-
$this->assertEquals($consumerSecret, $this->encryptor->decrypt($this->consumerModel->getSecret()));
72+
$this->assertEquals($consumerSecret, $this->consumerModel->getSecret());
7373
}
7474
}

dev/tests/integration/testsuite/Magento/Integration/Model/ResourceModel/Oauth/TokenTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,6 @@ public function testSave(): void
310310
);
311311
$model->save();
312312

313-
$this->assertEquals($tokenSecret, $this->encryptor->decrypt($model->getSecret()));
313+
$this->assertEquals($tokenSecret, $model->getSecret());
314314
}
315315
}

0 commit comments

Comments
 (0)