CreateOAuth2ClientRequest
in package
implements
JsonSerializable
The `CreateOAuth2ClientRequest` schema from the server's OpenAPI document.
Table of Contents
Interfaces
- JsonSerializable
Properties
- $backchannelLogoutUri : string|null
- $dpopBoundAccessTokens : bool|null
- $dpopRequireNonce : bool|null
- $grantTypes : array<string|int, mixed>
- $jwks : string|null
- $jwksUri : string|null
- $name : string
- $postLogoutRedirectUris : array<string|int, mixed>|null
- $profile : ClientProfile|null
- $redirectUris : array<string|int, mixed>
- $requirePar : bool|null
- $scopes : array<string|int, mixed>
- $selfSignedTlsClientAuthThumbprints : array<string|int, mixed>|null
- $tlsClientAuthSanDns : string|null
- $tlsClientAuthSanUri : string|null
- $tlsClientAuthSubjectDn : string|null
- $tlsClientCertificateBoundAccessTokens : bool|null
- $tokenEndpointAuthMethod : ClientAuthMethod|null
Methods
- __construct() : mixed
- Constructs a CreateOAuth2ClientRequest.
- fromArray() : self
- Rebuilds a CreateOAuth2ClientRequest from one decoded JSON object.
- jsonSerialize() : array<string, mixed>
- Renders this object for `json_encode()`.
- toArray() : array<string, mixed>
- Renders this object back to its wire form.
Properties
$backchannelLogoutUri read-only
public
string|null
$backchannelLogoutUri
= null
$dpopBoundAccessTokens read-only
public
bool|null
$dpopBoundAccessTokens
= null
$dpopRequireNonce read-only
public
bool|null
$dpopRequireNonce
= null
$grantTypes read-only
public
array<string|int, mixed>
$grantTypes
$jwks read-only
public
string|null
$jwks
= null
$jwksUri read-only
public
string|null
$jwksUri
= null
$name read-only
public
string
$name
$postLogoutRedirectUris read-only
public
array<string|int, mixed>|null
$postLogoutRedirectUris
= null
$profile read-only
public
ClientProfile|null
$profile
= null
$redirectUris read-only
public
array<string|int, mixed>
$redirectUris
$requirePar read-only
public
bool|null
$requirePar
= null
$scopes read-only
public
array<string|int, mixed>
$scopes
$selfSignedTlsClientAuthThumbprints read-only
public
array<string|int, mixed>|null
$selfSignedTlsClientAuthThumbprints
= null
$tlsClientAuthSanDns read-only
public
string|null
$tlsClientAuthSanDns
= null
$tlsClientAuthSanUri read-only
public
string|null
$tlsClientAuthSanUri
= null
$tlsClientAuthSubjectDn read-only
public
string|null
$tlsClientAuthSubjectDn
= null
$tlsClientCertificateBoundAccessTokens read-only
public
bool|null
$tlsClientCertificateBoundAccessTokens
= null
$tokenEndpointAuthMethod read-only
public
ClientAuthMethod|null
$tokenEndpointAuthMethod
= null
Methods
__construct()
Constructs a CreateOAuth2ClientRequest.
public
__construct(array<int, string> $grantTypes, string $name, array<int, string> $redirectUris, array<int, string> $scopes[, string|null $backchannelLogoutUri = null ][, bool|null $dpopBoundAccessTokens = null ][, bool|null $dpopRequireNonce = null ][, string|null $jwks = null ][, string|null $jwksUri = null ][, array<int, string>|null $postLogoutRedirectUris = null ][, ClientProfile|null $profile = null ][, bool|null $requirePar = null ][, array<int, string>|null $selfSignedTlsClientAuthThumbprints = null ][, string|null $tlsClientAuthSanDns = null ][, string|null $tlsClientAuthSanUri = null ][, string|null $tlsClientAuthSubjectDn = null ][, bool|null $tlsClientCertificateBoundAccessTokens = null ][, ClientAuthMethod|null $tokenEndpointAuthMethod = null ]) : mixed
Parameters
- $grantTypes : array<int, string>
-
Grant types this client is authorized to use.
- $name : string
-
Human-readable name for the client.
- $redirectUris : array<int, string>
-
Allowed redirect URIs (must be HTTPS, except localhost for dev). SEC-089: this list doubles as the token-exchange audience allow-list — adding a URI here also authorises it as a token audience for this client, so review additions on exchange-capable clients with that in mind (see
docs/api/token-exchange.md#audience). - $scopes : array<int, string>
-
Scopes the client may request.
- $backchannelLogoutUri : string|null = null
-
B5 — where OIDC back-channel logout tokens are delivered. Omit for a client that does not participate. (optional)
- $dpopBoundAccessTokens : bool|null = null
-
RFC 9449 §5.2 — issue DPoP-bound (sender-constrained) access tokens to this client. Independent of both the authentication method and
tls_client_certificate_bound_access_tokens; a client may ask for both constraints, and a token carrying both must satisfy both. (optional) - $dpopRequireNonce : bool|null = null
-
RFC 9449 §8 — require this client's DPoP proofs to carry a server-issued nonce. Not implemented in this build (SEC-097).
trueis refused with400; onlyfalse(the default) is accepted. Nothing reads the stored value, so acceptingtruewould persist and echo back a security switch that does nothing. DPoP proofs are made single-use at the token endpoint byjtireplay detection instead — seedocs/security-profiles.md. (optional) - $jwks : string|null = null
-
RFC 7591 §2 — the client's public key set, inline, for
private_key_jwt. Exactly one ofjwksandjwks_urimay be set. (optional) - $jwksUri : string|null = null
-
RFC 7591 §2 — where the client publishes its public key set. Must be an absolute
httpsURL, and is fetched through the SSRF-guarded JWKS cache, which refuses private and loopback addresses. (optional) - $postLogoutRedirectUris : array<int, string>|null = null
-
B5 — allow-list for RP-initiated logout's
post_logout_redirect_uri. Separate fromredirect_urison purpose: that list receives authorization codes, this one receives a browser after logout. (optional) - $profile : ClientProfile|null = null
-
X5.1 — the security posture this client is registered under.
"standard"(the default) is every AXIAM client that has ever existed."fapi2"turns on the whole FAPI 2.0 constraint bundle at once, and the registration is refused unless it also setsrequire_par, a strongtoken_endpoint_auth_method(either mTLS method orprivate_key_jwt), and at least one sender-constraining mechanism (tls_client_certificate_bound_access_tokensordpop_bound_access_tokens). See the FAPI operator guide. (optional) - $requirePar : bool|null = null
-
B5 — require this client to push its authorization parameters to
/oauth2/par(RFC 9126) rather than sending them through the browser. (optional) - $selfSignedTlsClientAuthThumbprints : array<int, string>|null = null
-
Accepted certificate thumbprints for
self_signed_tls_client_auth, as base64url-unpadded SHA-256 digests of the DER certificate (the samex5t#S256encoding as thecnfclaim). More than one permits an overlapping rotation. (optional) - $tlsClientAuthSanDns : string|null = null
-
RFC 8705 §2.1.2 — expected
dNSNameSAN. (optional) - $tlsClientAuthSanUri : string|null = null
-
RFC 8705 §2.1.2 — expected
uniformResourceIdentifierSAN. (optional) - $tlsClientAuthSubjectDn : string|null = null
-
RFC 8705 §2.1.2 — expected certificate subject DN, RFC 4514 form. Exactly one of the three
tls_client_auth_*parameters may be set. (optional) - $tlsClientCertificateBoundAccessTokens : bool|null = null
-
RFC 8705 §3.4 — issue certificate-bound (sender-constrained) access tokens to this client. Independent of the authentication method. (optional)
- $tokenEndpointAuthMethod : ClientAuthMethod|null = null
-
X5.1 — how this client authenticates at the token endpoint (RFC 8705 §2). Defaults to
client_secret_post. (optional)
fromArray()
Rebuilds a CreateOAuth2ClientRequest from one decoded JSON object.
public
static fromArray(array<string, mixed> $data) : self
Parameters
- $data : array<string, mixed>
-
The raw wire object.
Return values
selfjsonSerialize()
Renders this object for `json_encode()`.
public
jsonSerialize() : array<string, mixed>
Any Sensitive it carries stays WRAPPED here, so a log line or a
json_encode($model) in application code prints [SENSITIVE]. The one place a secret
is revealed is ManagementTransport, on the way to the wire
and nowhere else (§27.5).
Return values
array<string, mixed>toArray()
Renders this object back to its wire form.
public
toArray() : array<string, mixed>
§27.4 rule 5: a null property is OMITTED, not emitted as null. On a sparse update those two say opposite things — "leave this alone" versus "set this to nothing" — and only omission means the first.