InteractiveAuthenticatorInterface
extends
AuthenticatorInterface
in
This is an extension of the authenticator interface that must be used by interactive authenticators.
Interactive login requires explicit user action (e.g. a login form or HTTP basic authentication). Implementing this interface will dispatch the InteractiveLoginEvent upon successful login.
Tags
Table of Contents
Methods
- authenticate() : Passport
- Create a passport for the current request.
- createToken() : TokenInterface
- Create an authenticated token for the given user.
- isInteractive() : bool
- Should return true to make this authenticator perform an interactive login.
- onAuthenticationFailure() : Response|null
- Called when authentication executed, but failed (e.g. wrong username password).
- onAuthenticationSuccess() : Response|null
- Called when authentication executed and was successful!
- supports() : bool|null
- Does the authenticator support the given Request?
Methods
authenticate()
Create a passport for the current request.
public
authenticate(Request $request) : Passport
The passport contains the user, credentials and any additional information that has to be checked by the Symfony Security system. For example, a login form authenticator will probably return a passport containing the user, the presented password and the CSRF token value.
You may throw any AuthenticationException in this method in case of error (e.g. a UserNotFoundException when the user cannot be found).
Parameters
- $request : Request
Tags
Return values
PassportcreateToken()
Create an authenticated token for the given user.
public
createToken(Passport $passport, string $firewallName) : TokenInterface
If you don't care about which token class is used or don't really understand what a "token" is, you can skip this method by extending the AbstractAuthenticator class from your authenticator.
Parameters
- $passport : Passport
-
The passport returned from authenticate()
- $firewallName : string
Tags
Return values
TokenInterfaceisInteractive()
Should return true to make this authenticator perform an interactive login.
public
isInteractive() : bool
Return values
boolonAuthenticationFailure()
Called when authentication executed, but failed (e.g. wrong username password).
public
onAuthenticationFailure(Request $request, AuthenticationException $exception) : Response|null
This should return the Response sent back to the user, like a RedirectResponse to the login page or a 403 response.
If you return null, the request will continue, but the user will not be authenticated. This is probably not what you want to do.
Parameters
- $request : Request
- $exception : AuthenticationException
Return values
Response|nullonAuthenticationSuccess()
Called when authentication executed and was successful!
public
onAuthenticationSuccess(Request $request, TokenInterface $token, string $firewallName) : Response|null
This should return the Response sent back to the user, like a RedirectResponse to the last page they visited.
If you return null, the current request will continue, and the user will be authenticated. This makes sense, for example, with an API.
Parameters
- $request : Request
- $token : TokenInterface
- $firewallName : string
Return values
Response|nullsupports()
Does the authenticator support the given Request?
public
supports(Request $request) : bool|null
If this returns true, authenticate() will be called. If false, the authenticator will be skipped.
Returning null means authenticate() can be called lazily when accessing the token storage.
Parameters
- $request : Request