ApiClientKeyConfig
in package
FinalYes
Application key settings (`parameters.api.clientKey` in `config/Shared/api.neon`).
required:truemakes an external call without a key end with 401 (except#[NoClientKey]actions).falselets a call without a key behave as before keys existed; a call with a key is still verified and capped by limits and the client role ceiling.cacheTtl: how long (in seconds) the client record is cached. A change through ApiClientManager clears it at once; a manual DB edit shows up after this time at the latest.- default limits for clients that have none of their own (
nullin the column).
Table of Contents
Properties
- $cacheTtl : int
- $ipLimitPerMinute : int
- $limitPerMinute : int
- $limitPerSecond : int
- $required : bool
- $userLimitPerMinute : int
Methods
- __construct() : mixed
- resolveIpLimitPerMinute() : int
- resolveLimitPerMinute() : int
- resolveLimitPerSecond() : int
- resolveUserLimitPerMinute() : int
Properties
$cacheTtl read-only
public
int
$cacheTtl
= 60
$ipLimitPerMinute read-only
public
int
$ipLimitPerMinute
= 120
$limitPerMinute read-only
public
int
$limitPerMinute
= 600
$limitPerSecond read-only
public
int
$limitPerSecond
= 20
$required read-only
public
bool
$required
= true
$userLimitPerMinute read-only
public
int
$userLimitPerMinute
= 120
Methods
__construct()
public
__construct([bool $required = true ][, int $cacheTtl = 60 ][, int $limitPerSecond = 20 ][, int $limitPerMinute = 600 ][, int $userLimitPerMinute = 120 ][, int $ipLimitPerMinute = 120 ]) : mixed
Parameters
- $required : bool = true
- $cacheTtl : int = 60
- $limitPerSecond : int = 20
- $limitPerMinute : int = 600
- $userLimitPerMinute : int = 120
- $ipLimitPerMinute : int = 120
resolveIpLimitPerMinute()
public
resolveIpLimitPerMinute(ApiClientIdentity $client) : int
Parameters
- $client : ApiClientIdentity
Return values
intresolveLimitPerMinute()
public
resolveLimitPerMinute(ApiClientIdentity $client) : int
Parameters
- $client : ApiClientIdentity
Return values
intresolveLimitPerSecond()
public
resolveLimitPerSecond(ApiClientIdentity $client) : int
Parameters
- $client : ApiClientIdentity
Return values
intresolveUserLimitPerMinute()
public
resolveUserLimitPerMinute(ApiClientIdentity $client) : int
Parameters
- $client : ApiClientIdentity