CleanExpiredTokens.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Integration\Cron;
  7. use Magento\Integration\Model\ResourceModel\Oauth\Token as TokenResourceModel;
  8. use Magento\Authorization\Model\UserContextInterface;
  9. use Magento\Integration\Helper\Oauth\Data as OauthHelper;
  10. /**
  11. * Cron class for deleting expired OAuth tokens.
  12. */
  13. class CleanExpiredTokens
  14. {
  15. /**
  16. * @var TokenResourceModel
  17. */
  18. private $tokenResourceModel;
  19. /**
  20. * @var OauthHelper
  21. */
  22. private $oauthHelper;
  23. /**
  24. * Initialize dependencies.
  25. *
  26. * @param TokenResourceModel $tokenResourceModel
  27. * @param OauthHelper $oauthHelper
  28. */
  29. public function __construct(
  30. TokenResourceModel $tokenResourceModel,
  31. OauthHelper $oauthHelper
  32. ) {
  33. $this->tokenResourceModel = $tokenResourceModel;
  34. $this->oauthHelper = $oauthHelper;
  35. }
  36. /**
  37. * Delete expired customer and admin tokens.
  38. *
  39. * @return void
  40. */
  41. public function execute()
  42. {
  43. $this->tokenResourceModel->deleteExpiredTokens(
  44. $this->oauthHelper->getAdminTokenLifetime(),
  45. [UserContextInterface::USER_TYPE_ADMIN]
  46. );
  47. $this->tokenResourceModel->deleteExpiredTokens(
  48. $this->oauthHelper->getCustomerTokenLifetime(),
  49. [UserContextInterface::USER_TYPE_CUSTOMER]
  50. );
  51. }
  52. }