class PassportCache

Coordinate authentication lookups and invalidation across model and query writes.

Constants

protected CONTEXT_KEY_PREFIX

Methods

__construct(Factory $cache, Repository $config, ModelCacheCoordinator $coordinator)

Create the Passport cache.

Token|null
findToken(string $model, string $id)

Find an access token for authentication.

Client|null
findClient(string $model, string|int $id, Closure $read)

Find a client for authentication.

Model|null
remember(string $type, string $id, Closure $source, Closure $read)

Retrieve a model through the request memo and optional shared cache.

void
forgetToken(string $id, Connection $connection)

Clear an access token's memo and settle its shared invalidation.

void
forgetClient(string $id, Connection $connection)

Clear a client's memo and settle its shared invalidation.

void
forgetTokenMemo(string $id)

Clear a newly created token's missing request memo.

void
forgetClientMemo(string $id)

Clear a newly created client's missing request memo.

void
forgetMany(string $type, array $ids, Connection $connection)

Forget credentials without publishing transaction-local state.

void
forgetMemo(string $type, array $ids)

Clear credentials from the current request's memo.

int
update(Builder $query, array $values)

Update related credentials and invalidate exactly the selected rows.

int
delete(Builder $query)

Delete related credentials and invalidate exactly the selected rows.

int
mutate(Builder $query, Closure $write)

Apply a relation mutation in bounded primary-key batches.

getCache()

Get the configured shared cache repository.

string
getCacheKey(string $type, string $id)

Build a shared cache key for a credential.

Details

at line 29
__construct(Factory $cache, Repository $config, ModelCacheCoordinator $coordinator)

Create the Passport cache.

Parameters

Factory $cache
Repository $config
ModelCacheCoordinator $coordinator

at line 43
Token|null findToken(string $model, string $id)

Find an access token for authentication.

Parameters

string $model
string $id

Return Value

Token|null

at line 60
Client|null findClient(string $model, string|int $id, Closure $read)

Find a client for authentication.

Parameters

string $model
string|int $id
Closure $read

Return Value

Client|null

at line 78
protected Model|null remember(string $type, string $id, Closure $source, Closure $read)

Retrieve a model through the request memo and optional shared cache.

Parameters

string $type
string $id
Closure $source
Closure $read

Return Value

Model|null

at line 113
void forgetToken(string $id, Connection $connection)

Clear an access token's memo and settle its shared invalidation.

Parameters

string $id
Connection $connection

Return Value

void

at line 121
void forgetClient(string $id, Connection $connection)

Clear a client's memo and settle its shared invalidation.

Parameters

string $id
Connection $connection

Return Value

void

at line 129
void forgetTokenMemo(string $id)

Clear a newly created token's missing request memo.

Parameters

string $id

Return Value

void

at line 137
void forgetClientMemo(string $id)

Clear a newly created client's missing request memo.

Parameters

string $id

Return Value

void

at line 147
protected void forgetMany(string $type, array $ids, Connection $connection)

Forget credentials without publishing transaction-local state.

Parameters

string $type
array $ids
Connection $connection

Return Value

void

at line 183
protected void forgetMemo(string $type, array $ids)

Clear credentials from the current request's memo.

Parameters

string $type
array $ids

Return Value

void

at line 202
int update(Builder $query, array $values)

Update related credentials and invalidate exactly the selected rows.

Parameters

Builder $query
array $values

Return Value

int

at line 213
int delete(Builder $query)

Delete related credentials and invalidate exactly the selected rows.

Parameters

Builder $query

Return Value

int

at line 225
protected int mutate(Builder $query, Closure $write)

Apply a relation mutation in bounded primary-key batches.

Parameters

Builder $query
Closure $write

Return Value

int

at line 248
protected Repository getCache()

Get the configured shared cache repository.

Return Value

Repository

at line 258
protected string getCacheKey(string $type, string $id)

Build a shared cache key for a credential.

Parameters

string $type
string $id

Return Value

string