services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  TYPO3\CMS\FrontendLogin\:
    resource: '../Classes/*'

  TYPO3\CMS\FrontendLogin\Event\ProcessRequestTokenListener:
    tags:
      - name: event.listener
        identifier: felogin-process-request-token

  feloginPasswordRecovery.rateLimiterFactory:
    class: Symfony\Component\RateLimiter\RateLimiterFactory
    arguments:
      $config:
        id: 'felogin-password-recovery'
        policy: 'sliding_window'
        limit: 5
        interval: '15 minutes'
      $storage: '@TYPO3\CMS\Core\RateLimiter\Storage\CachingFrameworkStorage'

  TYPO3\CMS\FrontendLogin\Controller\PasswordRecoveryController:
    arguments:
      $rateLimiterFactory: '@feloginPasswordRecovery.rateLimiterFactory'
