abstract class AbstractAuthenticationListener implements ListenerInterface

The AbstractAuthenticationListener is the preferred base class for all browser-/HTTP-based authentication requests.

Subclasses likely have to implement the following: - an TokenInterface to hold authentication related data - an AuthenticationProvider to perform the actual authentication of the token, retrieve the UserInterface implementation from a database, and perform the specific account checks using the UserChecker

By default, this listener only is active for a specific path, e.g. /login_check. If you want to change this behavior, you can overwrite the requiresAuthentication() method.

Properties

protected $options
protected $logger
protected $authenticationManager
protected $providerKey
protected $httpUtils

Methods

__construct(TokenStorageInterface $tokenStorage, AuthenticationManagerInterface $authenticationManager, SessionAuthenticationStrategyInterface $sessionStrategy, HttpUtils $httpUtils, string $providerKey, AuthenticationSuccessHandlerInterface $successHandler, AuthenticationFailureHandlerInterface $failureHandler, array $options = array(), LoggerInterface $logger = null, EventDispatcherInterface $dispatcher = null)

No description

setRememberMeServices(RememberMeServicesInterface $rememberMeServices)

Sets the RememberMeServices implementation to use.

handle(GetResponseEvent $event)

Handles form based authentication.

bool
requiresAuthentication(Request $request)

Whether this request requires authentication.

attemptAuthentication(Request $request)

Performs authentication.

Details

at line 81
__construct(TokenStorageInterface $tokenStorage, AuthenticationManagerInterface $authenticationManager, SessionAuthenticationStrategyInterface $sessionStrategy, HttpUtils $httpUtils, string $providerKey, AuthenticationSuccessHandlerInterface $successHandler, AuthenticationFailureHandlerInterface $failureHandler, array $options = array(), LoggerInterface $logger = null, EventDispatcherInterface $dispatcher = null)

Parameters

TokenStorageInterface $tokenStorage A TokenStorageInterface instance
AuthenticationManagerInterface $authenticationManager An AuthenticationManagerInterface instance
SessionAuthenticationStrategyInterface $sessionStrategy
HttpUtils $httpUtils An HttpUtils instance
string $providerKey
AuthenticationSuccessHandlerInterface $successHandler
AuthenticationFailureHandlerInterface $failureHandler
array $options An array of options for the processing of a successful, or failed authentication attempt
LoggerInterface $logger A LoggerInterface instance
EventDispatcherInterface $dispatcher An EventDispatcherInterface instance

Exceptions

InvalidArgumentException

at line 112
setRememberMeServices(RememberMeServicesInterface $rememberMeServices)

Sets the RememberMeServices implementation to use.

Parameters

RememberMeServicesInterface $rememberMeServices

at line 123
final handle(GetResponseEvent $event)

Handles form based authentication.

at line 169
protected bool requiresAuthentication(Request $request)

Whether this request requires authentication.

The default implementation only processes requests to a specific path, but a subclass could change this to only authenticate requests where a certain parameters is present.

Parameters

Request $request

Return Value

bool

at line 181
abstract protected TokenInterface|Response|null attemptAuthentication(Request $request)

Performs authentication.

Parameters

Request $request

Return Value

TokenInterface|Response|null The authenticated token, null if full authentication is not possible, or a Response

Exceptions

AuthenticationException if the authentication fails