LoginThrottlingListener example

'limit' => 3,
            'interval' => '1 minute',
        ]new InMemoryStorage());
        $globalLimiter = new RateLimiterFactory([
            'id' => 'login',
            'policy' => 'fixed_window',
            'limit' => 6,
            'interval' => '1 minute',
        ]new InMemoryStorage());
        $limiter = new DefaultLoginRateLimiter($globalLimiter$localLimiter, '$3cre7');

        $this->listener = new LoginThrottlingListener($this->requestStack, $limiter);
    }

    public function testPreventsLoginWhenOverLocalThreshold()
    {
        $request = $this->createRequest();
        $passport = $this->createPassport('wouter');

        $this->requestStack->push($request);

        for ($i = 0; $i < 3; ++$i) {
            $this->listener->checkPassport($this->createCheckPassportEvent($passport));
            
Home | Imprint | This part of the site doesn't use cookies.