CustomerUser.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Integration\Plugin\Model;
  7. use Magento\Integration\Model\CustomerTokenService;
  8. /**
  9. * Plugin to delete customer tokens when customer becomes inactive
  10. */
  11. class CustomerUser
  12. {
  13. /**
  14. * @var CustomerTokenService
  15. */
  16. private $customerTokenService;
  17. /**
  18. * @param CustomerTokenService $customerTokenService
  19. */
  20. public function __construct(
  21. CustomerTokenService $customerTokenService
  22. ) {
  23. $this->customerTokenService = $customerTokenService;
  24. }
  25. /**
  26. * Check if customer is inactive - if so, invalidate their tokens
  27. *
  28. * @param \Magento\Customer\Model\Customer $subject
  29. * @param \Magento\Framework\DataObject $object
  30. * @return $this
  31. */
  32. public function afterSave(
  33. \Magento\Customer\Model\Customer $subject,
  34. \Magento\Framework\DataObject $object
  35. ) {
  36. $isActive = $object->getIsActive();
  37. if (isset($isActive) && $isActive == 0) {
  38. $this->customerTokenService->revokeCustomerAccessToken($object->getId());
  39. }
  40. return $subject;
  41. }
  42. }