Documentation

Client implements ArrayCopyable, Arrayable, Jsonable Uses ArrayTrait, JsonTrait

Information about a client application.

Some properties correspond to the metadata listed in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0

Interfaces, Classes and Traits

ArrayCopyable
Interface to declare instances can be converted into/from arrays.
Arrayable
Interface to declare that instances can be converted into an array.
Jsonable
Interface to declare that instances can be converted into JSON strings.

Table of Contents

copyFromArray()  : mixed
Copy the content of the given array into this object.
copyToArray()  : mixed
Copy the content of this object into the given array.
fromArray()  : static
Convert an array into an instance of this class.
fromJson()  : static
Convert a JSON string into an instance of this class.
getApplicationType()  : ApplicationType
Get the application type of this client application.
getAuthorizationDataTypes()  : array<string|int, string>
Get the data types that this client may use as values of the `type` field in `authorization_details`. This property corresponds to the `authorization_data_types` metadata defined in RAR (OAuth 2.0 Rich Authorization Requests).
getAuthorizationEncryptionAlg()  : JWEAlg
Get the JWE "alg" algorithm for encrypting authorization responses.
getAuthorizationEncryptionEnc()  : JWEEnc
Get the JWE "enc" algorithm for encrypting authorization responses.
getAuthorizationSignAlg()  : JWSAlg
Get the JWS "alg" algorithm for signing authorization responses.
getBcDeliveryMode()  : DeliveryMode
Get the backchannel token delivery mode. This property corresponds to the `backchannel_token_delivery_mode` metadata.
getBcNotificationEndpoint()  : string
Get the backchannel client notification endpoint. This property corresponds to the `backchannel_client_notification_endpoint` metadata.
getBcRequestSignAlg()  : JWSAlg
Get the signature algorithm of requests to the backchannel authentication endpoint. This property corresponds to the `backchannel_authentication_request_signing_alg` metadata.
getClientId()  : int|string
Get the client ID which is expected to be used as the value of the "client_id" request parameter of authorization requests and token requests.
getClientIdAlias()  : string
Get the alias of the client ID.
getClientName()  : string
Get the name of this client application.
getClientNames()  : array<string|int, TaggedValue>
Get the localized names of this client application.
getClientSecret()  : string
Get the client secret which is expected to be used as the value of the "client_secret" request parameter of token requests.
getClientType()  : ClientType
Get the client type.
getClientUri()  : string
Get the URI of the home page of this client application.
getClientUris()  : array<string|int, TaggedValue>
Get the URIs of localized home pages of this client application.
getContacts()  : array<string|int, string>
Get the email addresses of contacts for this client application.
getCreatedAt()  : int|string
Get the time at which this client was created. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).
getDefaultAcrs()  : array<string|int, string>
Get the default list of Authentication Context Class References.
getDefaultMaxAge()  : int|string
Get the default value of the maximum authentication age in seconds.
getDerivedSectorIdentifier()  : string
Get the sector identifier host component as derived from either the `sector_identifier_uri` or the registered `redirect_uri`. If no `sector_identifier_uri` is registered and multiple redirect URIs are registered, this value is undefined and this property returnes null.
getDescription()  : string
Get the description about this client application.
getDescriptions()  : array<string|int, TaggedValue>
Get the localized descriptions about this client application.
getDeveloper()  : string
Get the unique ID of the developer of this client application.
getExtension()  : ClientExtension
Get the extended information about this client application.
getGrantTypes()  : array<string|int, GrantType>
Get the "grant_type" values that this client application is declaring that it will restrict itself to using.
getIdTokenEncryptionAlg()  : JWEAlg
Get the JWE "alg" algorithm for encrypting ID tokens issued to this client application.
getIdTokenEncryptionEnc()  : JWEEnc
Get the JWE "enc" algorithm for encrypting ID tokens issued to this client application.
getIdTokenSignAlg()  : JWSAlg
Get the JWS "alg" algorithm for signing ID tokens issued to this client application.
getJwks()  : string
Get the JSON Web Key Set of this client application.
getJwksUri()  : string
Get the URI of the JSON Web Key Set of this client application.
getLoginUri()  : string
Get the URL that can initiate a login for this client application.
getLogoUri()  : string
Get the URI of the logo image of this client application.
getLogoUris()  : array<string|int, TaggedValue>
Get the URIs of localized logo images of this client application.
getModifiedAt()  : int|string
Get the time at which this client was last modified. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).
getPolicyUri()  : string
Get the URI of the policy page which describes how this client application uses the profile data of the end-user.
getPolicyUris()  : array<string|int, TaggedValue>
Get the URIs of localized policy pages of this client application.
getRedirectUris()  : array<string|int, string>
Get the redirect URIs.
getRegistrationAccessTokenHash()  : string
Get the hash of the registration access token for this client.
getRequestEncryptionAlg()  : JWEAlg
Get the JWE "alg" algorithm for encrypting request objects.
getRequestEncryptionEnc()  : JWEEnc
Get the JWE "enc" algorithm for encrypting request objects.
getRequestSignAlg()  : JWSAlg
Get the JWS "alg" algorithm for signing request objects.
getRequestUris()  : array<string|int, string>
Get the request URIs that this client declares it may use.
getResponseTypes()  : array<string|int, ResponseType>
Get the "response_type" values that this client application is declaring that it will restrict itself to using.
getSectorIdentifierUri()  : string
Get the sector identifier URI.
getSelfSignedCertificateKeyId()  : string
Get the key ID of the JWK which contains a self-signed certificate.
getSoftwareId()  : Client
Get the unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.
getSoftwareVersion()  : string
Get the version identifier string for the client software identified by the software ID.
getSubjectType()  : SubjectType
Get the subject type.
getTlsClientAuthSanDns()  : string
Get the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual authentication.
getTlsClientAuthSanEmail()  : string
Get the string representation of the expected email address subject alternative name of the certificate this client will use in mutual authentication.
getTlsClientAuthSanIp()  : string
Get the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual authentication.
getTlsClientAuthSanUri()  : string
Get the string representation of the expected URI subject alternative name of the certificate this client will use in mutual authentication.
getTlsClientAuthSubjectDn()  : string
Get the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.
getTokenAuthMethod()  : ClientAuthMethod
Get the client authentication method for the token endpoint.
getTokenAuthSignAlg()  : JWSAlg
Get the JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.
getTosUri()  : string
Get the URI of the "Terms Of Service" page of this client application.
getTosUris()  : array<string|int, TaggedValue>
Get the URIs of localized "Terms Of Service" pages of this client application.
getUserInfoEncryptionAlg()  : JWEAlg
Get the JWE "alg" algorithm for encrypting UserInfo responses.
getUserInfoEncryptionEnc()  : JWEEnc
Get the JWE "enc" algorithm for encrypting UserInfo responses.
getUserInfoSignAlg()  : JWSAlg
Get the JWS "alg" algorithm for signing UserInfo responses.
isAuthTimeRequired()  : bool
Get the flag which indicates whether this client always requires `auth_time` claim to be embedded in ID tokens.
isBcUserCodeRequired()  : bool
Get the flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to the `backchannel_user_code_parameter` metadata.
isClientIdAliasEnabled()  : bool
Get the flag which indicates whether the client ID alias is enabled or not.
isDynamicallyRegistered()  : bool
Get the flag which indicates whether this client has been registered dynamically.
isParRequired()  : bool
Get the flag which indicates whether this client is required to use PAR (OAuth 2.0 Pushed Authorization Requests). This property corresponds to the `require_pushed_authorization_requests` metadata.
isRequestObjectRequired()  : bool
Get the flag which indicates whether authorization requests from this client are always required to utilize a request object by using either `request` or `request_uri` request parameter.
isTlsClientCertificateBoundAccessTokens()  : bool
Get the flag which indicates whether this client uses "TLS client certificate bound access tokens".
setApplicationType()  : Client
Set the application type of this client application.
setAuthorizationDataTypes()  : Client
Set the data types that this client may use as values of the `type` field in `authorization_details`. This property corresponds to the `authorization_data_types` metadata defined in RAR (OAuth 2.0 Rich Authorization Requests).
setAuthorizationEncryptionAlg()  : Client
Set the JWE "alg" algorithm for encrypting authorization responses.
setAuthorizationEncryptionEnc()  : Client
Set the JWE "enc" algorithm for encrypting authorization responses.
setAuthorizationSignAlg()  : Client
Set the JWS "alg" algorithm for signing authorization responses.
setAuthTimeRequired()  : Client
Set the flag which indicates whether this client always requires `auth_time` claim to be embedded in ID tokens.
setBcDeliveryMode()  : Client
Set the backchannel token delivery mode. This property corresponds to the `backchannel_token_delivery_mode` metadata.
setBcNotificationEndpoint()  : Client
Set the backchannel client notification endpoint. This property corresponds to the `backchannel_client_notification_endpoint` metadata.
setBcRequestSignAlg()  : Client
Set the signature algorithm of requests to the backchannel authentication endpoint. This property corresponds to the `backchannel_authentication_request_signing_alg` metadata.
setBcUserCodeRequired()  : Client
Set the flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to the `backchannel_user_code_parameter` metadata.
setClientId()  : Client
Set the client ID which is expected to be used as the value of the "client_id" request parameter of authorization requests and token requests.
setClientIdAlias()  : Client
Set the alias of the client ID.
setClientIdAliasEnabled()  : Client
Set the flag which indicates whether the client ID alias is enabled or not.
setClientName()  : mixed
Set the name of this client application.
setClientNames()  : Client
Set the localized names of this client application.
setClientSecret()  : Client
Set the client secret which is expected to be used as the value of the "client_secret" request parameter of token requests.
setClientType()  : mixed
Set the client type.
setClientUri()  : Client
Set the URI of the home page of this client application.
setClientUris()  : Client
Set the URIs of localized home pages of this client application.
setContacts()  : Client
Set the email addresses of contacts for this client application.
setCreatedAt()  : Client
Set the time at which this client was created. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).
setDefaultAcrs()  : Client
Set the default list of Authentication Context Class References.
setDefaultMaxAge()  : Client
Set the default value of the maximum authentication age in seconds.
setDerivedSectorIdentifier()  : Client
Set the sector identifier host component as derived from either the `sector_identifier_uri` or the registered `redirect_uri`. If no `sector_identifier_uri` is registered and multiple redirect URIs are registered, this value is undefined and this property returnes null.
setDescription()  : Client
Set the description about this client application.
setDescriptions()  : Client
Set the localized descriptions about this client application.
setDeveloper()  : Client
Set the unique ID of the developer of this client application.
setDynamicallyRegistered()  : Client
Set the flag which indicates whether this client has been registered dynamically.
setExtension()  : Client
Set the extended information about this client application.
setGrantTypes()  : Client
Set the "grant_type" values that this client application is declaring that it will restrict itself to using.
setIdTokenEncryptionAlg()  : Client
Set the JWE "alg" algorithm for encrypting ID tokens issued to this client application.
setIdTokenEncryptionEnc()  : Client
Set the JWE "enc" algorithm for encrypting ID tokens issued to this client application.
setIdTokenSignAlg()  : Client
Set the JWS "alg" algorithm for signing ID tokens issued to this client application.
setJwks()  : Client
Set the JSON Web Key Set of this client application.
setJwksUri()  : Client
Set the URI of the JSON Web Key Set of this client application.
setLoginUri()  : Client
Set the URL that can initiate a login for this client application.
setLogoUri()  : mixed
Set the URI of the logo image of this client application.
setLogoUris()  : Client
Set the URIs of localized logo images of this client application.
setModifiedAt()  : Client
Set the time at which this client was last modified. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).
setParRequired()  : Client
Set the flag which indicates whether this client is required to use PAR (OAuth 2.0 Pushed Authorization Requests). This property corresponds to the `require_pushed_authorization_requests` metadata.
setPolicyUri()  : Client
Set the URI of the policy page which describes how this client application uses the profile data of the end-user.
setPolicyUris()  : Client
Set the URIs of localized policy pages of this client application.
setRedirectUris()  : Client
Set the redirect URIs.
setRegistrationAccessTokenHash()  : Client
Set the hash of the registration access token for this client.
setRequestEncryptionAlg()  : Client
Set the JWE "alg" algorithm for encrypting request objects.
setRequestEncryptionEnc()  : Client
Set the JWE "enc" algorithm for encrypting request objects.
setRequestObjectRequired()  : Client
Set the flag which indicates whether authorization requests from this client are always required to utilize a request object by using either `request` or `request_uri` request parameter.
setRequestSignAlg()  : Client
Set the JWS "alg" algorithm for signing request objects.
setRequestUris()  : Client
Set the request URIs that this client declares it may use.
setResponseTypes()  : Client
Set the "response_type" values that this client application is declaring that it will restrict itself to using.
setSectorIdentifierUri()  : Client
Set the sector identifier URI.
setSelfSignedCertificateKeyId()  : Client
Set the key ID of the JWK which contains a self-signed certificate.
setSoftwareId()  : Client
Set the unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.
setSoftwareVersion()  : Client
Set the version identifier string for the client software identified by the software ID.
setSubjectType()  : Client
Set the subject type.
setTlsClientAuthSanDns()  : Client
Set the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual authentication.
setTlsClientAuthSanEmail()  : Client
Set the string representation of the expected email address subject alternative name of the certificate this client will use in mutual authentication.
setTlsClientAuthSanIp()  : Client
Set the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual authentication.
setTlsClientAuthSanUri()  : Client
Set the string representation of the expected URI subject alternative name of the certificate this client will use in mutual authentication.
setTlsClientAuthSubjectDn()  : Client
Set the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.
setTlsClientCertificateBoundAccessTokens()  : Client
Set the flag which indicates whether this client uses "TLS client certificate bound access tokens".
setTokenAuthMethod()  : Client
Set the client authentication method for the token endpoint.
setTokenAuthSignAlg()  : Client
Set the JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.
setTosUri()  : Client
Set the URI of the "Terms Of Service" page of this client application.
setTosUris()  : Client
Set the URIs of localized "Terms Of Service" pages of this client application.
setUserInfoEncryptionAlg()  : Client
Set the JWE "alg" algorithm for encrypting UserInfo responses.
setUserInfoEncryptionEnc()  : Client
Set the JWE "enc" algorithm for encrypting UserInfo responses.
setUserInfoSignAlg()  : Client
Set the JWS "alg" algorithm for signing UserInfo responses.
toArray()  : array<string|int, mixed>
Convert this object into an array.
toJson()  : string
Convert this object into a JSON string.

Methods

copyFromArray()

Copy the content of the given array into this object.

public copyFromArray(array<string|int, mixed> &$array) : mixed
Parameters
$array : array<string|int, mixed>
Return values
mixed

copyToArray()

Copy the content of this object into the given array.

public copyToArray(array<string|int, mixed> &$array) : mixed
Parameters
$array : array<string|int, mixed>
Return values
mixed

fromArray()

Convert an array into an instance of this class.

public static fromArray([array<string|int, mixed> $array = null ]) : static

This static function returns a new instance of this class. If $array is null, null is returned.

Parameters
$array : array<string|int, mixed> = null

An array

Return values
static

An instance of this class.

fromJson()

Convert a JSON string into an instance of this class.

public static fromJson(string $json) : static

This static function returns a new instance of this class. If $json is null or the type of $json is not string, null is returned.

Parameters
$json : string

A JSON string.

Return values
static

An instance of this class.

getAuthorizationDataTypes()

Get the data types that this client may use as values of the `type` field in `authorization_details`. This property corresponds to the `authorization_data_types` metadata defined in RAR (OAuth 2.0 Rich Authorization Requests).

public getAuthorizationDataTypes() : array<string|int, string>
Tags
since
1.8
Return values
array<string|int, string>

Data types used in authorization_details.

getBcRequestSignAlg()

Get the signature algorithm of requests to the backchannel authentication endpoint. This property corresponds to the `backchannel_authentication_request_signing_alg` metadata.

public getBcRequestSignAlg() : JWSAlg
Tags
see
https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html

Client Initiated Backchannel Authentication

since
1.8
Return values
JWSAlg

The signature algorithm of requests to the backchannel authentication endpoint.

getClientId()

Get the client ID which is expected to be used as the value of the "client_id" request parameter of authorization requests and token requests.

public getClientId() : int|string
Return values
int|string

The client ID. (64-bit integer if your PHP system can handle 64-bit integers.)

getClientIdAlias()

Get the alias of the client ID.

public getClientIdAlias() : string

Note that the client ID alias is recognized only when the clientIdAliasEnabled properties of both this client and the service (which this client belongs to) are true.

Return values
string

The client ID alias.

getClientNames()

Get the localized names of this client application.

public getClientNames() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The localized client names.

getClientSecret()

Get the client secret which is expected to be used as the value of the "client_secret" request parameter of token requests.

public getClientSecret() : string
Return values
string

The client secret.

getClientUris()

Get the URIs of localized home pages of this client application.

public getClientUris() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The URIs of localized home pages of this client application.

getCreatedAt()

Get the time at which this client was created. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).

public getCreatedAt() : int|string
Return values
int|string

The time at which this client was created.

getDefaultAcrs()

Get the default list of Authentication Context Class References.

public getDefaultAcrs() : array<string|int, string>

This corresponds to the default_acr_values metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Return values
array<string|int, string>

The default list of Authentication Context Class References.

getDerivedSectorIdentifier()

Get the sector identifier host component as derived from either the `sector_identifier_uri` or the registered `redirect_uri`. If no `sector_identifier_uri` is registered and multiple redirect URIs are registered, this value is undefined and this property returnes null.

public getDerivedSectorIdentifier() : string
Tags
since
1.8
Return values
string

The derived sector identifier, if available, or null otherwise.

getDescription()

Get the description about this client application.

public getDescription() : string
Return values
string

The description about this client application.

getDescriptions()

Get the localized descriptions about this client application.

public getDescriptions() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The localized descriptions about this client application.

getDeveloper()

Get the unique ID of the developer of this client application.

public getDeveloper() : string
Return values
string

The unique ID of the developer.

getExtension()

Get the extended information about this client application.

public getExtension() : ClientExtension
Return values
ClientExtension

The extended information about this client application.

getLogoUris()

Get the URIs of localized logo images of this client application.

public getLogoUris() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The URIs of localized logo images of this client application.

getModifiedAt()

Get the time at which this client was last modified. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).

public getModifiedAt() : int|string
Return values
int|string

The time at which this client was last modified.

getPolicyUris()

Get the URIs of localized policy pages of this client application.

public getPolicyUris() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The URIs of localized policy pages of this client application.

getRedirectUris()

Get the redirect URIs.

public getRedirectUris() : array<string|int, string>

See 3.1.2. Redirection Endpoint of RFC 6749 for details.

Return values
array<string|int, string>

A string array containing redirect URIs.

getRegistrationAccessTokenHash()

Get the hash of the registration access token for this client.

public getRegistrationAccessTokenHash() : string
Tags
see
https://tools.ietf.org/html/rfc7591

OAuth 2.0 Dynamic Client Registration Protocol

since
1.8
Return values
string

The hash of the registration access token for this client.

getSelfSignedCertificateKeyId()

Get the key ID of the JWK which contains a self-signed certificate.

public getSelfSignedCertificateKeyId() : string
Tags
since
1.5
Return values
string

The key ID of the JWK which contains a self-signed certificate.

getSoftwareId()

Get the unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.

public getSoftwareId() : Client

This property corresponds to the software_id metadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).

Tags
since
1.7
Return values
Client

The unique identifier of the client software.

getSoftwareVersion()

Get the version identifier string for the client software identified by the software ID.

public getSoftwareVersion() : string

This property corresponds to the software_version metadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).

Tags
since
1.7
Return values
string

The version of the client software.

getTlsClientAuthSanDns()

Get the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual authentication.

public getTlsClientAuthSanDns() : string

This property corresponds to tls_client_auth_san_dns defined in RFC 8705.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
string

The expected DNS subject alternative name.

getTlsClientAuthSanEmail()

Get the string representation of the expected email address subject alternative name of the certificate this client will use in mutual authentication.

public getTlsClientAuthSanEmail() : string

This property corresponds to tls_client_auth_san_email defined in RFC 8705.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
string

The expected email address subject alternative name.

getTlsClientAuthSanIp()

Get the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual authentication.

public getTlsClientAuthSanIp() : string

This property corresponds to tls_client_auth_san_ip defined in RFC 8705.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
string

The expected IP address subject alternative name.

getTlsClientAuthSanUri()

Get the string representation of the expected URI subject alternative name of the certificate this client will use in mutual authentication.

public getTlsClientAuthSanUri() : string

This property corresponds to tls_client_auth_san_uri defined in RFC 8705.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
string

The expected URI subject alternative name.

getTlsClientAuthSubjectDn()

Get the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.

public getTlsClientAuthSubjectDn() : string

See the description about tls_client_auth_subject_dn written in "Mutual TLS Profile for OAuth Clients" for details.

Return values
string

The expected subject distinguished name.

getTokenAuthSignAlg()

Get the JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.

public getTokenAuthSignAlg() : JWSAlg

This corresponds to the token_endpoint_auth_signing_alg metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Return values
JWSAlg

The JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.

getTosUris()

Get the URIs of localized "Terms Of Service" pages of this client application.

public getTosUris() : array<string|int, TaggedValue>
Return values
array<string|int, TaggedValue>

The URIs of localized "Terms Of Service" pages of this client application.

isAuthTimeRequired()

Get the flag which indicates whether this client always requires `auth_time` claim to be embedded in ID tokens.

public isAuthTimeRequired() : bool

This corresponds to the require_auth_time metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Return values
bool

true if this client application always requires auth_time to be embedded in ID tokens.

isBcUserCodeRequired()

Get the flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to the `backchannel_user_code_parameter` metadata.

public isBcUserCodeRequired() : bool
Tags
see
https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html

Client Initiated Backchannel Authentication

since
1.8
Return values
bool

true if a user code is required when this client makes a backchannel authentication request.

isClientIdAliasEnabled()

Get the flag which indicates whether the client ID alias is enabled or not.

public isClientIdAliasEnabled() : bool

Note that Service class also has isClientIdAliasEnabled() method. If the service's isClientIdAliasEnabled() method returns false, the client ID alias of this client is not recognized even if this client's isClientIdAliasEnabled() method returns true.

Return values
bool

true if this client's ID alias is enabled.

isDynamicallyRegistered()

Get the flag which indicates whether this client has been registered dynamically.

public isDynamicallyRegistered() : bool
Tags
see
https://tools.ietf.org/html/rfc7591

OAuth 2.0 Dynamic Client Registration Protocol

since
1.8
Return values
bool

true if this client has been registered dynamically.

isParRequired()

Get the flag which indicates whether this client is required to use PAR (OAuth 2.0 Pushed Authorization Requests). This property corresponds to the `require_pushed_authorization_requests` metadata.

public isParRequired() : bool
Tags
since
1.8
Return values
bool

true if this client is required to use PAR.

isRequestObjectRequired()

Get the flag which indicates whether authorization requests from this client are always required to utilize a request object by using either `request` or `request_uri` request parameter.

public isRequestObjectRequired() : bool

If this method returns true and the service's isTraditionalRequestObjectProcessingApplied() method returns false, authorization requests from this client are processed as if require_signed_request_object client metadata of this client is true. The metadata is defined in JAR (JWT Secured Authorization Request).

Tags
since
1.9
Return values
bool

true if authorization requests from this client are always required to utilize a request object.

isTlsClientCertificateBoundAccessTokens()

Get the flag which indicates whether this client uses "TLS client certificate bound access tokens".

public isTlsClientCertificateBoundAccessTokens() : bool

If this method returns true (and if the service supports "TLS client certificate bound access tokens"), this client must present its client certificate (1) when it makes token requests to the authorization server and (2) when it makes API calls to the resource server.

Tags
since
1.4
Return values
bool

true if this client uses "TLS client certificate bound access tokens".

setAuthorizationDataTypes()

Set the data types that this client may use as values of the `type` field in `authorization_details`. This property corresponds to the `authorization_data_types` metadata defined in RAR (OAuth 2.0 Rich Authorization Requests).

public setAuthorizationDataTypes([array<string|int, string> $types = null ]) : Client
Parameters
$types : array<string|int, string> = null

Data types used in authorization_details.

Tags
since
1.8
Return values
Client

$this object.

setAuthorizationEncryptionAlg()

Set the JWE "alg" algorithm for encrypting authorization responses.

public setAuthorizationEncryptionAlg([JWEAlg $alg = null ]) : Client

This corresponds to the authorization_encrypted_response_alg in 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).

Parameters
$alg : JWEAlg = null

The JWE "alg" algorithm for encrypting authorization responses.

Tags
since
1.7
Return values
Client

$this object.

setAuthorizationEncryptionEnc()

Set the JWE "enc" algorithm for encrypting authorization responses.

public setAuthorizationEncryptionEnc([JWEEnc $enc = null ]) : Client

This corresponds to the authorization_encrypted_response_enc in 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).

Parameters
$enc : JWEEnc = null

The JWE "enc" algorithm for encrypting authorization responses.

Tags
since
1.7
Return values
Client

$this object.

setAuthTimeRequired()

Set the flag which indicates whether this client always requires `auth_time` claim to be embedded in ID tokens.

public setAuthTimeRequired(bool $required) : Client

This corresponds to the require_auth_time metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$required : bool

true if this client application always requires auth_time to be embedded in ID tokens.

Return values
Client

$this object.

setBcNotificationEndpoint()

Set the backchannel client notification endpoint. This property corresponds to the `backchannel_client_notification_endpoint` metadata.

public setBcNotificationEndpoint(string $endpoint) : Client
Parameters
$endpoint : string

The backchannel client notification endpoint.

Tags
see
https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html

Client Initiated Backchannel Authentication

since
1.8
Return values
Client

$this object.

setBcRequestSignAlg()

Set the signature algorithm of requests to the backchannel authentication endpoint. This property corresponds to the `backchannel_authentication_request_signing_alg` metadata.

public setBcRequestSignAlg([JWSAlg $alg = null ]) : Client

The specification of CIBA (Client Initiated Backchannel Authentication) allows asymmetric algorithms only.

Parameters
$alg : JWSAlg = null

The signature algorithm of requests to the backchannel authentication endpoint.

Tags
see
https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html

Client Initiated Backchannel Authentication

since
1.8
Return values
Client

$this object.

setBcUserCodeRequired()

Set the flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to the `backchannel_user_code_parameter` metadata.

public setBcUserCodeRequired(bool $required) : Client
Parameters
$required : bool

true to indicate that a user code is required when this client makes a backchannel authentication request.

Tags
see
https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html

Client Initiated Backchannel Authentication

since
1.8
Return values
Client

$this object.

setClientId()

Set the client ID which is expected to be used as the value of the "client_id" request parameter of authorization requests and token requests.

public setClientId(int|string $clientId) : Client
Parameters
$clientId : int|string

The client ID. (64-bit integer if your PHP system can handle 64-bit integers.)

Return values
Client

$this object.

setClientIdAlias()

Set the alias of the client ID.

public setClientIdAlias(string $alias) : Client

Note that the client ID alias is recognized only when the clientIdAliasEnabled properties of both this client and the service (which this client belongs to) are true.

Parameters
$alias : string

The client ID alias.

Return values
Client

$this object.

setClientIdAliasEnabled()

Set the flag which indicates whether the client ID alias is enabled or not.

public setClientIdAliasEnabled(bool $enabled) : Client

Note that Service class also has isClientIdAliasEnabled() method. If the service's isClientIdAliasEnabled() method returns false, the client ID alias of this client is not recognized even if this client's isClientIdAliasEnabled() method returns true.

Parameters
$enabled : bool

true to enable client's ID alias.

Return values
Client

$this object.

setClientNames()

Set the localized names of this client application.

public setClientNames([array<string|int, TaggedValue$clientNames = null ]) : Client
Parameters
$clientNames : array<string|int, TaggedValue> = null

The localized client names.

Return values
Client

$this object.

setClientSecret()

Set the client secret which is expected to be used as the value of the "client_secret" request parameter of token requests.

public setClientSecret(string $secret) : Client
Parameters
$secret : string

The client secret.

Return values
Client

$this object.

setClientType()

Set the client type.

public setClientType([ClientType $clientType = null ]) : mixed

The definition of Client Type is described in 2.1. Client Types of RFC 6749.

Parameters
$clientType : ClientType = null

The client type.

Return values
mixed

setClientUris()

Set the URIs of localized home pages of this client application.

public setClientUris([array<string|int, TaggedValue$clientUris = null ]) : Client
Parameters
$clientUris : array<string|int, TaggedValue> = null

The URIs of localized home pages of this client application.

Return values
Client

$this object.

setCreatedAt()

Set the time at which this client was created. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).

public setCreatedAt(int|string $createdAt) : Client
Parameters
$createdAt : int|string

The time at which this client was created.

Return values
Client

$this object.

setDefaultAcrs()

Set the default list of Authentication Context Class References.

public setDefaultAcrs([array<string|int, string> $defaultAcrs = null ]) : Client

This corresponds to the default_acr_values metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$defaultAcrs : array<string|int, string> = null

The default list of Authentication Context Class References.

Return values
Client

$this object.

setDerivedSectorIdentifier()

Set the sector identifier host component as derived from either the `sector_identifier_uri` or the registered `redirect_uri`. If no `sector_identifier_uri` is registered and multiple redirect URIs are registered, this value is undefined and this property returnes null.

public setDerivedSectorIdentifier(string $identifier) : Client
Parameters
$identifier : string

The derived sector identifier, if available, or null otherwise.

Tags
since
1.8
Return values
Client

$this object.

setDescription()

Set the description about this client application.

public setDescription(string $description) : Client
Parameters
$description : string

The description about this client application.

Return values
Client

$this object.

setDescriptions()

Set the localized descriptions about this client application.

public setDescriptions([array<string|int, TaggedValue$descriptions = null ]) : Client
Parameters
$descriptions : array<string|int, TaggedValue> = null

The localized descriptions about this client application.

Return values
Client

$this object.

setDeveloper()

Set the unique ID of the developer of this client application.

public setDeveloper(string $developer) : Client
Parameters
$developer : string

The unique ID of the developer.

Return values
Client

$this object.

setDynamicallyRegistered()

Set the flag which indicates whether this client has been registered dynamically.

public setDynamicallyRegistered(bool $registered) : Client
Parameters
$registered : bool

true to indicate that this client has been registered dynamically.

Tags
see
https://tools.ietf.org/html/rfc7591

OAuth 2.0 Dynamic Client Registration Protocol

since
1.8
Return values
Client

$this object.

setExtension()

Set the extended information about this client application.

public setExtension([ClientExtension $extension = null ]) : Client
Parameters
$extension : ClientExtension = null

The extended information about this client application.

Return values
Client

$this object.

setIdTokenEncryptionAlg()

Set the JWE "alg" algorithm for encrypting ID tokens issued to this client application.

public setIdTokenEncryptionAlg([JWEAlg $idTokenEncryptionAlg = null ]) : Client

This corresponds to the id_token_encrypted_response_alg metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$idTokenEncryptionAlg : JWEAlg = null

The JWE "alg" algorithm for encrypting ID tokens.

Return values
Client

$this object.

setIdTokenEncryptionEnc()

Set the JWE "enc" algorithm for encrypting ID tokens issued to this client application.

public setIdTokenEncryptionEnc([JWEEnc $idTokenEncryptionEnc = null ]) : Client

This corresponds to the id_token_encrypted_response_enc metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$idTokenEncryptionEnc : JWEEnc = null

The JWE "enc" algorithm for encrypting ID tokens.

Return values
Client

$this object.

setLogoUris()

Set the URIs of localized logo images of this client application.

public setLogoUris([array<string|int, TaggedValue$logoUris = null ]) : Client
Parameters
$logoUris : array<string|int, TaggedValue> = null

The URIs of localized logo images of this client application.

Return values
Client

$this object.

setModifiedAt()

Set the time at which this client was last modified. The value is represented as milliseconds since the Unix epoch (1970-Jan-1).

public setModifiedAt(int|string $modifiedAt) : Client
Parameters
$modifiedAt : int|string

The time at which this client was last modified.

Return values
Client

$this object.

setParRequired()

Set the flag which indicates whether this client is required to use PAR (OAuth 2.0 Pushed Authorization Requests). This property corresponds to the `require_pushed_authorization_requests` metadata.

public setParRequired(bool $required) : Client
Parameters
$required : bool

true to indicate that this client is required to use PAR.

Tags
since
1.8
Return values
Client

$this object.

setPolicyUris()

Set the URIs of localized policy pages of this client application.

public setPolicyUris([array<string|int, TaggedValue$policyUris = null ]) : Client
Parameters
$policyUris : array<string|int, TaggedValue> = null

The URIs of localized policy pages of this client application.

Return values
Client

$this object.

setRedirectUris()

Set the redirect URIs.

public setRedirectUris([array<string|int, string> $redirectUris = null ]) : Client

See 3.1.2. Redirection Endpoint of RFC 6749 for details.

Parameters
$redirectUris : array<string|int, string> = null

A string array containing redirect URIs.

Return values
Client

$this object.

setRegistrationAccessTokenHash()

Set the hash of the registration access token for this client.

public setRegistrationAccessTokenHash(string $hash) : Client
Parameters
$hash : string

The hash of the registration access token for this client.

Tags
see
https://tools.ietf.org/html/rfc7591

OAuth 2.0 Dynamic Client Registration Protocol

since
1.8
Return values
Client

$this object.

setRequestObjectRequired()

Set the flag which indicates whether authorization requests from this client are always required to utilize a request object by using either `request` or `request_uri` request parameter.

public setRequestObjectRequired(bool $required) : Client
Parameters
$required : bool

true to require that authorization requests from this client always utilize a request object.

Tags
since
1.9
Return values
Client

$this object.

setResponseTypes()

Set the "response_type" values that this client application is declaring that it will restrict itself to using.

public setResponseTypes([array<string|int, ResponseType$responseTypes = null ]) : Client

This corresponds to the response_types metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$responseTypes : array<string|int, ResponseType> = null

An array of \Authlete\Types\ResponseType.

Return values
Client

$this object.

setSelfSignedCertificateKeyId()

Set the key ID of the JWK which contains a self-signed certificate.

public setSelfSignedCertificateKeyId(string $keyId) : Client
Parameters
$keyId : string

The key ID of the JWK which contains a self-signed certificate.

Tags
since
1.5
Return values
Client

$this object.

setSoftwareId()

Set the unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.

public setSoftwareId(string $softwareId) : Client

This property corresponds to the software_id metadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).

Parameters
$softwareId : string

The unique identifier of the client software.

Tags
since
1.7
Return values
Client

$this object.

setSoftwareVersion()

Set the version identifier string for the client software identified by the software ID.

public setSoftwareVersion(string $version) : Client

This property corresponds to the software_version metadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).

Parameters
$version : string

The version of the client software.

Tags
since
1.7
Return values
Client

$this object.

setTlsClientAuthSanDns()

Set the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual authentication.

public setTlsClientAuthSanDns(string $dns) : Client

This property corresponds to tls_client_auth_san_dns defined in RFC 8705.

Parameters
$dns : string

The expected DNS subject alternative name.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
Client

$this object.

setTlsClientAuthSanEmail()

Set the string representation of the expected email address subject alternative name of the certificate this client will use in mutual authentication.

public setTlsClientAuthSanEmail(string $email) : Client

This property corresponds to tls_client_auth_san_email defined in RFC 8705.

Parameters
$email : string

The expected email address subject alternative name.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
Client

$this object.

setTlsClientAuthSanIp()

Set the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual authentication.

public setTlsClientAuthSanIp(string $ip) : Client

This property corresponds to tls_client_auth_san_ip defined in RFC 8705.

Parameters
$ip : string

The expected IP address subject alternative name.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
Client

$this object.

setTlsClientAuthSanUri()

Set the string representation of the expected URI subject alternative name of the certificate this client will use in mutual authentication.

public setTlsClientAuthSanUri(string $uri) : Client

This property corresponds to tls_client_auth_san_uri defined in RFC 8705.

Parameters
$uri : string

The expected URI subject alternative name.

Tags
see
https://www.rfc-editor.org/rfc/rfc8705.html

RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens

since
1.8
Return values
Client

$this object.

setTlsClientAuthSubjectDn()

Set the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.

public setTlsClientAuthSubjectDn(string $dn) : Client

See the description about tls_client_auth_subject_dn written in "Mutual TLS Profile for OAuth Clients" for details.

Parameters
$dn : string

The expected subject distinguished name.

Return values
Client

$this object.

setTlsClientCertificateBoundAccessTokens()

Set the flag which indicates whether this client uses "TLS client certificate bound access tokens".

public setTlsClientCertificateBoundAccessTokens(bool $use) : Client

If true is set to this property (and if the service supports "TLS client certificate bound access tokens"), this client must present its client certificate (1) when it makes token requests to the authorization server and (2) when it makes API calls to the resource server.

Parameters
$use : bool

true to declare that this client uses "TLS client certificate bound access tokens".

Tags
since
1.4
Return values
Client

$this object.

setTokenAuthSignAlg()

Set the JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.

public setTokenAuthSignAlg([JWSAlg $tokenAuthSignAlg = null ]) : Client

This corresponds to the token_endpoint_auth_signing_alg metadata defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.

Parameters
$tokenAuthSignAlg : JWSAlg = null

The JWS "alg" algorithm for signing the JWT used to authenticate the client at the token endpoint.

Return values
Client

$this object.

setTosUris()

Set the URIs of localized "Terms Of Service" pages of this client application.

public setTosUris([array<string|int, TaggedValue$tosUris = null ]) : Client
Parameters
$tosUris : array<string|int, TaggedValue> = null

The URIs of localized "Terms Of Service" pages of this client application.

Return values
Client

$this object.

toArray()

Convert this object into an array.

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

An array.

toJson()

Convert this object into a JSON string.

public toJson(int $options) : string
Parameters
$options : int

Options passed to json_encode(). This parameter is optional and its default value is 0.

Return values
string

A JSON string.

Search results