class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices

Concrete implementation of the RememberMeServicesInterface which needs an implementation of TokenProviderInterface for providing remember-me capabilities.

Constants

COOKIE_DELIMITER

Properties

protected $logger from AbstractRememberMeServices
protected $options from AbstractRememberMeServices

Methods

__construct(array $userProviders, string $secret, string $providerKey, array $options = [], LoggerInterface $logger = null)

No description

string
getRememberMeParameter()

Returns the parameter that is used for checking whether remember-me services have been requested.

string
getSecret()

No description

autoLogin(Request $request)

Implementation of RememberMeServicesInterface. Detects whether a remember-me cookie was set, decodes it, and hands it to subclasses for further processing.

logout(Request $request, Response $response, TokenInterface $token)

Implementation for LogoutHandlerInterface. Deletes the cookie.

loginFail(Request $request, Exception $exception = null)

Implementation for RememberMeServicesInterface. Deletes the cookie when an attempted authentication fails.

loginSuccess(Request $request, Response $response, TokenInterface $token)

Implementation for RememberMeServicesInterface. This is called when an authentication is successful.

processAutoLoginCookie(array $cookieParts, Request $request)

Subclasses should validate the cookie and do any additional processing that is required. This is called from autoLogin().

onLoginFail(Request $request, Exception $exception = null)

No description

onLoginSuccess(Request $request, Response $response, TokenInterface $token)

This is called after a user has been logged in successfully, and has requested remember-me capabilities. The implementation usually sets a cookie and possibly stores a persistent record of it.

getUserProvider($class)

No description

array
decodeCookie(string $rawCookie)

Decodes the raw cookie value.

string
encodeCookie(array $cookieParts)

Encodes the cookie parts.

cancelCookie(Request $request)

Deletes the remember-me cookie.

bool
isRememberMeRequested(Request $request)

Checks whether remember-me capabilities were requested.

setTokenProvider(TokenProviderInterface $tokenProvider)

No description

Details

__construct(array $userProviders, string $secret, string $providerKey, array $options = [], LoggerInterface $logger = null)

Parameters

array $userProviders
string $secret
string $providerKey
array $options
LoggerInterface $logger

Exceptions

InvalidArgumentException

string getRememberMeParameter()

Returns the parameter that is used for checking whether remember-me services have been requested.

Return Value

string

string getSecret()

Return Value

string

final TokenInterface autoLogin(Request $request)

Implementation of RememberMeServicesInterface. Detects whether a remember-me cookie was set, decodes it, and hands it to subclasses for further processing.

Parameters

Request $request

Return Value

TokenInterface

Exceptions

CookieTheftException
RuntimeException

logout(Request $request, Response $response, TokenInterface $token)

Implementation for LogoutHandlerInterface. Deletes the cookie.

Parameters

Request $request
Response $response
TokenInterface $token

final loginFail(Request $request, Exception $exception = null)

Implementation for RememberMeServicesInterface. Deletes the cookie when an attempted authentication fails.

Parameters

Request $request
Exception $exception

final loginSuccess(Request $request, Response $response, TokenInterface $token)

Implementation for RememberMeServicesInterface. This is called when an authentication is successful.

Parameters

Request $request
Response $response
TokenInterface $token

at line 60
protected UserInterface processAutoLoginCookie(array $cookieParts, Request $request)

Subclasses should validate the cookie and do any additional processing that is required. This is called from autoLogin().

Parameters

array $cookieParts
Request $request

Return Value

UserInterface

protected onLoginFail(Request $request, Exception $exception = null)

Parameters

Request $request
Exception $exception

at line 97
protected onLoginSuccess(Request $request, Response $response, TokenInterface $token)

This is called after a user has been logged in successfully, and has requested remember-me capabilities. The implementation usually sets a cookie and possibly stores a persistent record of it.

Parameters

Request $request
Response $response
TokenInterface $token

final protected getUserProvider($class)

Parameters

$class

protected array decodeCookie(string $rawCookie)

Decodes the raw cookie value.

Parameters

string $rawCookie

Return Value

array

protected string encodeCookie(array $cookieParts)

Encodes the cookie parts.

Parameters

array $cookieParts

Return Value

string

Exceptions

InvalidArgumentException When $cookieParts contain the cookie delimiter. Extending class should either remove or escape it.

at line 43
protected cancelCookie(Request $request)

Deletes the remember-me cookie.

Parameters

Request $request

protected bool isRememberMeRequested(Request $request)

Checks whether remember-me capabilities were requested.

Parameters

Request $request

Return Value

bool

at line 35
setTokenProvider(TokenProviderInterface $tokenProvider)

Parameters

TokenProviderInterface $tokenProvider