FetchAuthTokenCache
in package
implements
FetchAuthTokenInterface, GetQuotaProjectInterface, SignBlobInterface, ProjectIdProviderInterface, UpdateMetadataInterface
Uses
CacheTrait
A class to implement caching for any object implementing FetchAuthTokenInterface
Interfaces, Classes and Traits
- FetchAuthTokenInterface
- An interface implemented by objects that can fetch auth tokens.
- GetQuotaProjectInterface
- An interface implemented by objects that can get quota projects.
- SignBlobInterface
- Describes a class which supports signing arbitrary strings.
- ProjectIdProviderInterface
- Describes a Credentials object which supports fetching the project ID.
- UpdateMetadataInterface
- Describes a Credentials object which supports updating request metadata (request headers).
Table of Contents
- $cache : CacheItemPoolInterface
- $cacheConfig : array<string|int, mixed>
- $fetcher : FetchAuthTokenInterface
- $maxKeyLength : mixed
- __construct() : mixed
- fetchAuthToken() : array<string|int, mixed>
- Implements FetchAuthTokenInterface#fetchAuthToken.
- getCacheKey() : string
- Obtains a key that can used to cache the results of #fetchAuthToken.
- getClientName() : string
- Get the client name from the fetcher.
- getLastReceivedToken() : array<string|int, mixed>|null
- Returns an associative array with the token and expiration time.
- getProjectId() : string|null
- Get the project ID.
- getQuotaProject() : string|null
- Get the quota project used for this API request from the credentials fetcher.
- signBlob() : string
- Sign a blob using the fetcher.
- updateMetadata() : array<string|int, mixed>
- Updates metadata with the authorization token.
- getCachedValue() : mixed
- Gets the cached value if it is present in the cache when that is available.
- getFullCacheKey() : mixed
- setCachedValue() : mixed
- Saves the value in the cache when that is available.
Properties
$cache
private
CacheItemPoolInterface
$cache
$cacheConfig
private
array<string|int, mixed>
$cacheConfig
$fetcher
private
FetchAuthTokenInterface
$fetcher
$maxKeyLength
private
mixed
$maxKeyLength
= 64
Methods
__construct()
public
__construct(FetchAuthTokenInterface $fetcher[, array<string|int, mixed> $cacheConfig = null ], CacheItemPoolInterface $cache) : mixed
Parameters
- $fetcher : FetchAuthTokenInterface
-
A credentials fetcher
- $cacheConfig : array<string|int, mixed> = null
-
Configuration for the cache
- $cache : CacheItemPoolInterface
Return values
mixed —fetchAuthToken()
Implements FetchAuthTokenInterface#fetchAuthToken.
public
fetchAuthToken([callable $httpHandler = null ]) : array<string|int, mixed>
Checks the cache for a valid auth token and fetches the auth tokens from the supplied fetcher.
Parameters
- $httpHandler : callable = null
-
callback which delivers psr7 request
Tags
Return values
array<string|int, mixed> —the response
getCacheKey()
Obtains a key that can used to cache the results of #fetchAuthToken.
public
getCacheKey() : string
Return values
string —getClientName()
Get the client name from the fetcher.
public
getClientName([callable $httpHandler = null ]) : string
Parameters
- $httpHandler : callable = null
-
An HTTP handler to deliver PSR7 requests.
Return values
string —getLastReceivedToken()
Returns an associative array with the token and expiration time.
public
getLastReceivedToken() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —getProjectId()
Get the project ID.
public
getProjectId([callable $httpHandler = null ]) : string|null
Parameters
- $httpHandler : callable = null
-
Callback which delivers psr7 request
Return values
string|null —getQuotaProject()
Get the quota project used for this API request from the credentials fetcher.
public
getQuotaProject() : string|null
Return values
string|null —signBlob()
Sign a blob using the fetcher.
public
signBlob(string $stringToSign[, bool $forceOpenSsl = false ]) : string
Parameters
- $stringToSign : string
-
The string to sign.
- $forceOpenSsl : bool = false
-
Require use of OpenSSL for local signing. Does not apply to signing done using external services. Defaults to
false.
Tags
Return values
string —The resulting signature.
updateMetadata()
Updates metadata with the authorization token.
public
updateMetadata(array<string|int, mixed> $metadata[, string $authUri = null ][, callable $httpHandler = null ]) : array<string|int, mixed>
Parameters
- $metadata : array<string|int, mixed>
-
metadata hashmap
- $authUri : string = null
-
optional auth uri
- $httpHandler : callable = null
-
callback which delivers psr7 request
Tags
Return values
array<string|int, mixed> —updated metadata hashmap
getCachedValue()
Gets the cached value if it is present in the cache when that is available.
private
getCachedValue(mixed $k) : mixed
Parameters
- $k : mixed
Return values
mixed —getFullCacheKey()
private
getFullCacheKey(mixed $key) : mixed
Parameters
- $key : mixed
Return values
mixed —setCachedValue()
Saves the value in the cache when that is available.
private
setCachedValue(mixed $k, mixed $v) : mixed
Parameters
- $k : mixed
- $v : mixed