RememberMeServicesInterface
interface RememberMeServicesInterface
Interface that needs to be implemented by classes which provide remember-me capabilities.
We provide two implementations out-of-the-box: - TokenBasedRememberMeServices (does not require a TokenProvider) - PersistentTokenBasedRememberMeServices (requires a TokenProvider)
Constants
COOKIE_ATTR_NAME | This attribute name can be used by the implementation if it needs to set a cookie on the Request when there is no actual Response, yet. |
Methods
TokenInterface | autoLogin(Request $request) This method will be called whenever the TokenStorage does not contain a TokenInterface object and the framework wishes to provide an implementation with an opportunity to authenticate the request using remember-me capabilities. | |
loginFail(Request $request, Exception $exception = null) Called whenever an interactive authentication attempt was made, but the credentials supplied by the user were missing or otherwise invalid. | ||
loginSuccess(Request $request, Response $response, TokenInterface $token) Called whenever an interactive authentication attempt is successful (e.g. a form login). |
Details
TokenInterface autoLogin(Request $request)
This method will be called whenever the TokenStorage does not contain a TokenInterface object and the framework wishes to provide an implementation with an opportunity to authenticate the request using remember-me capabilities.
No attempt whatsoever is made to determine whether the browser has requested remember-me services or presented a valid cookie. Any and all such determinations are left to the implementation of this method.
If a browser has presented an unauthorised cookie for whatever reason, make sure to throw an AuthenticationException as this will consequentially result in a call to loginFail() and therefore an invalidation of the cookie.
Parameters
Request | $request |
Return Value
TokenInterface |
loginFail(Request $request, Exception $exception = null)
Called whenever an interactive authentication attempt was made, but the credentials supplied by the user were missing or otherwise invalid.
This method needs to take care of invalidating the cookie.
Parameters
Request | $request | |
Exception | $exception |
loginSuccess(Request $request, Response $response, TokenInterface $token)
Called whenever an interactive authentication attempt is successful (e.g. a form login).
An implementation may always set a remember-me cookie in the Response, although this is not recommended.
Instead, implementations should typically look for a request parameter (such as a HTTP POST parameter) that indicates the browser has explicitly requested for the authentication to be remembered.
Parameters
Request | $request | |
Response | $response | |
TokenInterface | $token |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Security/Http/RememberMe/RememberMeServicesInterface.html