Skip to content

Commit e491ba7

Browse files
committed
AC-520: Oauth Token Improvement.
-Fixing afterSave methods in ResourceModel. -Adding Assert to Integration test.
1 parent 7ef7646 commit e491ba7

File tree

5 files changed

+17
-25
lines changed

5 files changed

+17
-25
lines changed

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

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,7 @@ public function getTimeInSecondsSinceCreation($consumerId)
7979
*/
8080
protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
8181
{
82-
$entityId = $object->getEntityId();
83-
84-
if (!$entityId && $object->getSecret()) {
82+
if ($object->getSecret()) {
8583
$object->setSecret($this->encryptor->encrypt($object->getSecret()));
8684
}
8785

@@ -93,7 +91,9 @@ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
9391
*/
9492
protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
9593
{
96-
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
94+
if ($object->getSecret()) {
95+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
96+
}
9797

9898
return parent::_afterLoad($object);
9999
}
@@ -103,13 +103,8 @@ protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
103103
*/
104104
protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
105105
{
106-
$secret = $object->getSecret();
107-
//only decrypt secret for new objects or if data property was modified
108-
if ($object->isObjectNew() ||
109-
isset($object->getOrigData()['secret']) &&
110-
$object->getOrigData()['secret'] !== $secret
111-
) {
112-
$object->setSecret($this->encryptor->decrypt($secret));
106+
if ($object->getSecret()) {
107+
$object->setSecret($this->encryptor->decrypt($object->getSecret()));
113108
}
114109

115110
return parent::_afterSave($object);

app/code/Magento/Integration/Setup/Patch/Data/UpgradeConsumerSecret.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,6 @@ class UpgradeConsumerSecret implements DataPatchInterface, PatchVersionInterface
2626
*/
2727
private $consumerCollection;
2828

29-
/**
30-
* @var ConsumerCollectionFactory
31-
*/
32-
private $consumerCollectionFactory;
33-
3429
/**
3530
* @var Encryptor
3631
*/
@@ -67,7 +62,7 @@ public function __construct(
6762
LoggerInterface $logger
6863
) {
6964

70-
$this->consumerCollectionFactory= $consumerCollectionFactory;
65+
$this->consumerCollection= $consumerCollectionFactory->create();
7166
$this->encryptor = $encryptor;
7267
$this->consumerResourceModel = $consumerResourceModel;
7368
$this->logger = $logger;
@@ -78,7 +73,6 @@ public function __construct(
7873
*/
7974
public function apply()
8075
{
81-
$this->consumerCollection = $this->consumerCollectionFactory->create();
8276
$this->consumerCollection->addFieldToSelect('entity_id');
8377
$this->consumerCollection->addFieldToSelect('secret');
8478
$connection = $this->consumerResourceModel->getConnection();

app/code/Magento/Integration/Setup/Patch/Data/UpgradeOauthToken.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@ class UpgradeOauthToken implements DataPatchInterface, PatchVersionInterface
2828
*/
2929
private $tokenCollection;
3030

31-
/**
32-
* @var TokenCollectionFactory
33-
*/
34-
private $tokenCollectionFactory;
35-
3631
/**
3732
* @var Encryptor
3833
*/
@@ -69,7 +64,7 @@ public function __construct(
6964
LoggerInterface $logger
7065
) {
7166

72-
$this->tokenCollectionFactory= $tokenCollectionFactory;
67+
$this->tokenCollection= $tokenCollectionFactory->create();
7368
$this->encryptor = $encryptor;
7469
$this->tokenResourceModel = $tokenResourceModel;
7570
$this->logger = $logger;
@@ -80,7 +75,6 @@ public function __construct(
8075
*/
8176
public function apply()
8277
{
83-
$this->tokenCollection = $this->tokenCollectionFactory->create();
8478
$this->tokenCollection->addFieldToSelect('entity_id');
8579
$this->tokenCollection->addFieldToSelect('secret');
8680
$this->tokenCollection->addFieldToSelect('type');

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ public function testSave(): void
5151
]
5252
)->save();
5353

54+
$consumerResourceModel = $this->consumerModel->getResource();
55+
5456
$this->assertEquals($consumerSecret, $this->consumerModel->getSecret());
57+
$this->assertNotEquals(
58+
$this->consumerModel->getSecret(),
59+
$consumerResourceModel->load($this->consumerModel, 'secret')
60+
);
5561
}
5662
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,9 @@ public function testSave(): void
303303
);
304304
$model->save();
305305

306+
$tokenResourceModel = $model->getResource();
307+
306308
$this->assertEquals($tokenSecret, $model->getSecret());
309+
$this->assertNotEquals($model->getSecret(), $tokenResourceModel->load($model, 'secret'));
307310
}
308311
}

0 commit comments

Comments
 (0)