MemoryStorage
extends OAuthStorageAbstract
in package
Implements a memory storage adapter.
Note: the memory storage is not persistent, as tokens are only stored during script runtime.
Table of Contents
Constants
- ENCRYPT_FORMAT = \chillerlan\Utilities\Crypto::ENCRYPT_FORMAT_HEX
- Output format for encrypted data
- KEY_STATE = 'STATE'
- KEY_TOKEN = 'TOKEN'
- KEY_VERIFIER = 'VERIFIER'
Properties
- $logger : LoggerInterface
- A PSR-3 logger
- $options : OAuthOptions|SettingsContainerInterface
- The options instance
- $storage : array<int|string, array<int|string, mixed>>
- the storage array
Methods
- __construct() : mixed
- OAuthStorageAbstract constructor.
- clearAccessToken() : static
- Deletes the access token for a given $provider (and current user)
- clearAllAccessTokens() : static
- Deletes all access tokens (for the current user)
- clearAllCodeVerifiers() : static
- Deletes all PKCE verifiers for this user
- clearAllCSRFStates() : static
- Deletes all stored CSRF states (for the current user)
- clearCodeVerifier() : static
- Deletes a PKCE verifier
- clearCSRFState() : static
- Deletes a CSRF state for the given $provider (and current user)
- fromStorage() : AccessToken
- Retrieves token JOSN from the underlying storage engine and returns an AccessToken
- getAccessToken() : AccessToken
- Retrieves an AccessToken for the given $provider
- getCodeVerifier() : string
- Retrieves a PKCE verifier
- getCSRFState() : string
- Retrieves a CSRF <state> value for the given $provider
- hasAccessToken() : bool
- Checks if a token for $provider exists
- hasCodeVerifier() : bool
- Checks whether a PKCE verifier exists
- hasCSRFState() : bool
- Checks if a CSRF state for the given provider exists
- setLogger() : static
- Sets a logger. (LoggerAwareInterface is stupid)
- storeAccessToken() : static
- Stores an AccessToken for the given $provider
- storeCodeVerifier() : static
- Stores a PKCE verifier
- storeCSRFState() : static
- Stores a CSRF <state> value for the given $provider
- toStorage() : mixed
- Prepares an AccessToken for storage (serialize, encrypt etc.) and returns a value that is suited for the underlying storage engine
- decrypt() : string
- decrypts the given $encrypted data
- encrypt() : string
- encrypts the given $data
- getProviderName() : string
- Gets the current provider name
Constants
ENCRYPT_FORMAT
Output format for encrypted data
protected
int
ENCRYPT_FORMAT
= \chillerlan\Utilities\Crypto::ENCRYPT_FORMAT_HEX
KEY_STATE
protected
final mixed
KEY_STATE
= 'STATE'
KEY_TOKEN
protected
final mixed
KEY_TOKEN
= 'TOKEN'
KEY_VERIFIER
protected
final mixed
KEY_VERIFIER
= 'VERIFIER'
Properties
$logger
A PSR-3 logger
protected
LoggerInterface
$logger
$options
The options instance
protected
OAuthOptions|SettingsContainerInterface
$options
$storage
the storage array
protected
array<int|string, array<int|string, mixed>>
$storage
= [self::KEY_TOKEN => [], self::KEY_STATE => [], self::KEY_VERIFIER => []]
(the int keys are to keep phpstan silent)
Methods
__construct()
OAuthStorageAbstract constructor.
public
__construct([OAuthOptions|SettingsContainerInterface $options = new OAuthOptions() ][, LoggerInterface $logger = new NullLogger() ]) : mixed
Parameters
- $options : OAuthOptions|SettingsContainerInterface = new OAuthOptions()
- $logger : LoggerInterface = new NullLogger()
clearAccessToken()
Deletes the access token for a given $provider (and current user)
public
clearAccessToken(string $provider) : static
Parameters
- $provider : string
Return values
staticclearAllAccessTokens()
Deletes all access tokens (for the current user)
public
clearAllAccessTokens() : static
Return values
staticclearAllCodeVerifiers()
Deletes all PKCE verifiers for this user
public
clearAllCodeVerifiers() : static
Return values
staticclearAllCSRFStates()
Deletes all stored CSRF states (for the current user)
public
clearAllCSRFStates() : static
Return values
staticclearCodeVerifier()
Deletes a PKCE verifier
public
clearCodeVerifier(string $provider) : static
Parameters
- $provider : string
Return values
staticclearCSRFState()
Deletes a CSRF state for the given $provider (and current user)
public
clearCSRFState(string $provider) : static
Parameters
- $provider : string
Return values
staticfromStorage()
Retrieves token JOSN from the underlying storage engine and returns an AccessToken
public
fromStorage(mixed $data) : AccessToken
Parameters
- $data : mixed
Return values
AccessTokengetAccessToken()
Retrieves an AccessToken for the given $provider
public
getAccessToken(string $provider) : AccessToken
This method must throw a ItemNotFoundException if a token is not found
Parameters
- $provider : string
Return values
AccessTokengetCodeVerifier()
Retrieves a PKCE verifier
public
getCodeVerifier(string $provider) : string
This method must throw a ItemNotFoundException if a verifier is not found
Parameters
- $provider : string
Return values
stringgetCSRFState()
Retrieves a CSRF <state> value for the given $provider
public
getCSRFState(string $provider) : string
This method must throw a ItemNotFoundException if a state is not found
Parameters
- $provider : string
Return values
stringhasAccessToken()
Checks if a token for $provider exists
public
hasAccessToken(string $provider) : bool
Parameters
- $provider : string
Return values
boolhasCodeVerifier()
Checks whether a PKCE verifier exists
public
hasCodeVerifier(string $provider) : bool
Parameters
- $provider : string
Return values
boolhasCSRFState()
Checks if a CSRF state for the given provider exists
public
hasCSRFState(string $provider) : bool
Parameters
- $provider : string
Return values
boolsetLogger()
Sets a logger. (LoggerAwareInterface is stupid)
public
setLogger(LoggerInterface $logger) : static
Parameters
- $logger : LoggerInterface
Tags
Return values
staticstoreAccessToken()
Stores an AccessToken for the given $provider
public
storeAccessToken(AccessToken $token, string $provider) : static
Parameters
- $token : AccessToken
- $provider : string
Return values
staticstoreCodeVerifier()
Stores a PKCE verifier
public
storeCodeVerifier(string $verifier, string $provider) : static
Parameters
- $verifier : string
- $provider : string
Return values
staticstoreCSRFState()
Stores a CSRF <state> value for the given $provider
public
storeCSRFState(string $state, string $provider) : static
Parameters
- $state : string
- $provider : string
Return values
statictoStorage()
Prepares an AccessToken for storage (serialize, encrypt etc.) and returns a value that is suited for the underlying storage engine
public
toStorage(AccessToken $token) : mixed
Parameters
- $token : AccessToken
decrypt()
decrypts the given $encrypted data
protected
decrypt(string $encrypted) : string
Parameters
- $encrypted : string
Return values
stringencrypt()
encrypts the given $data
protected
encrypt(string $data) : string
Parameters
- $data : string
Return values
stringgetProviderName()
Gets the current provider name
protected
getProviderName(string $provider) : string
Parameters
- $provider : string