Class Client
- java.lang.Object
-
- com.authlete.common.dto.Client
-
- All Implemented Interfaces:
Serializable
public class Client extends Object implements Serializable
Information about a client application.Some properties correspond to client metadata defined in related standard specifications. See the implementation of
toStandardMetadata(ClientMetadataControl)for exact mappings.- See Also:
- OpenID Connect Dynamic Client Registration 1.0, RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol, RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens, JWT Secured Authorization Response Mode for OAuth 2.0 (JARM), OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0, RFC 9396 OAuth 2.0 Rich Authorization Requests, OpenID Connect for Identity Assurance 1.0, OpenID Federation 1.0, IANA OAuth Parameters / OAuth Dynamic Client Registration Metadata, OpenID for Verifiable Credential Issuance, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Client()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description ApplicationTypegetApplicationType()Get the application type.Pair[]getAttributes()Get attributes.String[]getAuthorizationDetailsTypes()Get the authorization details types that this client may use as values of the"type"field in"authorization_details".JWEAlggetAuthorizationEncryptionAlg()Get the JWEalgalgorithm for encrypting authorization responses.JWEEncgetAuthorizationEncryptionEnc()Get the JWEencalgorithm for encrypting authorization responses.JWSAlggetAuthorizationSignAlg()Get the JWSalgalgorithm for signing authorization responses.DeliveryModegetBcDeliveryMode()Get the backchannel token delivery mode.URIgetBcNotificationEndpoint()Get the backchannel client notification endpoint.JWSAlggetBcRequestSignAlg()Get the signature algorithm of the request to the backchannel authentication endpoint.longgetClientId()Get the client ID.StringgetClientIdAlias()Get the alias of the client ID.StringgetClientName()Get the client name.TaggedValue[]getClientNames()Get the client names each of which has a language tag.ClientRegistrationType[]getClientRegistrationTypes()Get the client registration types that the client has declared it may use.StringgetClientSecret()Get the client secret.ClientTypegetClientType()Get the client type.URIgetClientUri()Get the URI of the home page.TaggedValue[]getClientUris()Get the URIs of the home pages for specific languages.String[]getContacts()Get the email addresses of contacts.longgetCreatedAt()Get the time at which this client was created.URIgetCredentialOfferEndpoint()Get the URL of the credential offer endpoint at which this client (wallet) receives a credential offer from the credential issuer.StringgetCustomMetadata()Get the custom client metadata in JSON format.String[]getDefaultAcrs()Get the default list of authentication context class references.intgetDefaultMaxAge()Get the default value of the maximum authentication age in seconds.StringgetDerivedSectorIdentifier()Get the sector identifier host component as derived from either thesector_identifier_urior the registeredredirect_uri.StringgetDescription()Get the description.TaggedValue[]getDescriptions()Get the descriptions for specific languages.StringgetDeveloper()Get the unique ID of the developer of this client application.StringgetDigestAlgorithm()Get the digest algorithm that this client requests the server to use when it computes digest values of external attachments, which may be referenced from within ID tokens or userinfo responses (or any place that can have theverified_claimsclaim).URIgetEntityId()Get the entity ID of this client.ClientExtensiongetExtension()Get the extended information about this client.FapiMode[]getFapiModes()Get the FAPI modes for this client.GrantType[]getGrantTypes()Getgrant_typevalues that the client is declaring that it will restrict itself to using.JWEAlggetIdTokenEncryptionAlg()Get the JWEalgalgorithm for encrypting the ID token issued to this client.JWEEncgetIdTokenEncryptionEnc()Get the JWEencalgorithm for encrypting the ID token issued to this client.JWSAlggetIdTokenSignAlg()Get the JWSalgalgorithm for signing the ID token issued to this client.StringgetJwks()Get the JSON Web Key Set.URIgetJwksUri()Get the URI of the JSON Web Key Set of the client application.URIgetLoginUri()Get the URL that can initiate a login for this client application.URIgetLogoUri()Get the URI of the logo image.TaggedValue[]getLogoUris()Get the logo URIs each of which has a language tag.longgetModifiedAt()Get the time at which this client was last modified.intgetNumber()Get the client number.StringgetOrganizationName()Get the human-readable name representing the organization that manages this client.URIgetPolicyUri()Get the URI of the policy page which describes how the client application uses the profile data of the end-user.TaggedValue[]getPolicyUris()Get the URIs of the policy pages for specific languages.String[]getRedirectUris()Get the redirect URIs.StringgetRegistrationAccessTokenHash()Get the hash of the registration access token for this client.JWEAlggetRequestEncryptionAlg()Get the JWEalgalgorithm for encrypting request objects.JWEEncgetRequestEncryptionEnc()Get the JWEencalgorithm for encrypting request objects.JWSAlggetRequestSignAlg()Get the JWSalgalgorithm for signing request objects.String[]getRequestUris()Get the request URIs that this client declares it may use.ResponseMode[]getResponseModes()Get the response modes that this client may use.ResponseType[]getResponseTypes()Getresponse_typevalues that the client is declaring that it will restrict itself to using.StringgetRsSignedRequestKeyId()Get the key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.URIgetSectorIdentifier()Deprecated.Since Authlete 2.2.URIgetSectorIdentifierUri()Get the value of the sector identifier URI.StringgetSelfSignedCertificateKeyId()Get the key ID of a JWK containing a self-signed certificate of this client.intgetServiceNumber()Get the number of the service which this client belongs to.URIgetSignedJwksUri()Get the URI of the endpoint that returns this client's JWK Set document in the JWT format.StringgetSoftwareId()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.StringgetSoftwareVersion()Get the version identifier string for the client software identified by the software ID.SubjectTypegetSubjectType()Get the subject type that this client application requests.StringgetTlsClientAuthSanDns()Get the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual TLS authentication.StringgetTlsClientAuthSanEmail()Get the string representation of the expected email address subject alternative name of the certificate this client will use in mutual TLS authentication.StringgetTlsClientAuthSanIp()Get the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual TLS authentication.URIgetTlsClientAuthSanUri()Get the string representation of the expected URI subject alternative name of the certificate this client will use in mutual TLS authentication.StringgetTlsClientAuthSubjectDn()Get the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.ClientAuthMethodgetTokenAuthMethod()Get the client authentication method for the token endpoint.JWSAlggetTokenAuthSignAlg()Get the JWSalgalgorithm for signing the JWT used to authenticate the client at the token endpoint.URIgetTosUri()Get the URI of the "Terms Of Service" page.TaggedValue[]getTosUris()Get the URIs of the "Terms Of Service" pages for specific languages.URIgetTrustAnchorId()Get the entity ID of the trust anchor of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.String[]getTrustChain()Get the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.longgetTrustChainExpiresAt()Get the expiration time of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.longgetTrustChainUpdatedAt()Get the time at which the trust chain was updated by the mechanism defined in OpenID Federation 1.0.JWEAlggetUserInfoEncryptionAlg()Get the JWEalgalgorithm for encrypting UserInfo responses.JWEEncgetUserInfoEncryptionEnc()Get the JWEencalgorithm for encrypting UserInfo responses.JWSAlggetUserInfoSignAlg()Get the JWSalgalgorithm for signing UserInfo responses.booleanisAuthTimeRequired()Get the flag which indicates whether this client requiresauth_timeclaim to be embedded in the ID token.booleanisAutomaticallyRegistered()Get the flag indicating whether this client was registered by the "automatic" client registration of OpenID Federation.booleanisBcUserCodeRequired()Get the boolean flag which indicates whether a user code is required when this client makes a backchannel authentication request.booleanisClientIdAliasEnabled()Get the flag which indicates whether the client ID alias is enabled or not.booleanisCredentialResponseEncryptionRequired()Get the flag indicating whether credential responses to this client must be always encrypted or not.booleanisDpopRequired()Set the flag indicating whether this client requires DPoP access tokens.booleanisDynamicallyRegistered()Get the flag which indicates whether this client has been registered dynamically.booleanisExplicitlyRegistered()Get the flag indicating whether this client was registered by the "explicit" client registration of OpenID Federation.booleanisFrontChannelRequestObjectEncryptionRequired()Get the flag indicating whether encryption of request object is required when the request object is passed through the front channel.booleanisInScopeForTokenMigration()Get the value that indicates whether this Client is in scope for token migration.booleanisLocked()Get the flag which indicates whether this client is locked.booleanisMtlsEndpointAliasesUsed()Get the flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.booleanisParRequired()Get the flag indicating whether this client is required to use the pushed authorization request endpoint.booleanisPkceRequired()Get the flag indicating whether PKCE (RFC 7636) is required whenever this client makes an authorization request by the authorization code flow.booleanisPkceS256Required()Get the flag indicating whetherS256must be used as the code challenge method whenever this client uses PKCE (RFC 7636).booleanisRequestObjectEncryptionAlgMatchRequired()Get the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.booleanisRequestObjectEncryptionEncMatchRequired()Get the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.booleanisRequestObjectRequired()Get the flag indicating whether authorization requests from this client are always required to utilize a request object by using eitherrequestorrequest_urirequest parameter.booleanisRsRequestSigned()Deprecated.booleanisSingleAccessTokenPerSubject()Get the flag which indicates whether the number of access tokens per subject (and per client) is at most one or can be more.booleanisTlsClientCertificateBoundAccessTokens()Does this client use TLS client certificate bound access tokens?ClientloadAttributes(Iterable<Pair> attributes)Load attributes from an iterable.ClientsetApplicationType(ApplicationType applicationType)Set the application type.ClientsetAttributes(Pair[] attributes)Set attributes.ClientsetAuthorizationDetailsTypes(String[] types)Set the authorization details types that this client may use as values of the"type"field in"authorization_details".ClientsetAuthorizationEncryptionAlg(JWEAlg alg)Set the JWEalgalgorithm for encrypting authorization responses.ClientsetAuthorizationEncryptionEnc(JWEEnc enc)Set the JWEencalgorithm for encrypting authorization responses.ClientsetAuthorizationSignAlg(JWSAlg alg)Set the JWSalgalgorithm for signing authorization responses.ClientsetAuthTimeRequired(boolean required)Set the flag which indicates whether this client requiresauth_timeclaim to be embedded in the ID token.ClientsetAutomaticallyRegistered(boolean auto)Set the flag indicating whether this client was registered by the "automatic" client registration of OpenID Federation.ClientsetBcDeliveryMode(DeliveryMode mode)Set the backchannel token delivery mode.ClientsetBcNotificationEndpoint(URI endpoint)Set the backchannel client notification endpoint.ClientsetBcRequestSignAlg(JWSAlg alg)Set the signature algorithm of the request to the backchannel authentication endpoint.ClientsetBcUserCodeRequired(boolean required)Set the boolean flag which indicates whether a user code is required when this client makes a backchannel authentication request.ClientsetClientId(long clientId)Set the client ID.ClientsetClientIdAlias(String alias)Set the alias of the client ID.ClientsetClientIdAliasEnabled(boolean enabled)Enable/disable the client ID alias.ClientsetClientName(String clientName)Set the client name.ClientsetClientNames(TaggedValue[] clientNames)Set the client names each of which has a language tag.ClientsetClientRegistrationTypes(ClientRegistrationType[] types)Set the client registration types that the client has declared it may use.ClientsetClientSecret(String clientSecret)Set the client secret.ClientsetClientType(ClientType clientType)Set the client type.ClientsetClientUri(URI uri)Set the URI of the home page.ClientsetClientUris(TaggedValue[] uris)Set the URIs of the home pages for specific languages.ClientsetContacts(String[] contacts)Set the email addresses of contacts.ClientsetCreatedAt(long createdAt)Set the time at which this client was created.ClientsetCredentialOfferEndpoint(URI endpoint)Set the URL of the credential offer endpoint at which this client (wallet) receives a credential offer from the credential issuer.ClientsetCredentialResponseEncryptionRequired(boolean required)Set the flag indicating whether credential responses to this client must be always encrypted or not.ClientsetCustomMetadata(String metadata)Set the custom client metadata in JSON format.ClientsetDefaultAcrs(String[] defaultAcrs)Set the default list of authentication context class references.ClientsetDefaultMaxAge(int defaultMaxAge)Set the default value of the maximum authentication age in seconds.ClientsetDerivedSectorIdentifier(String derivedSectorIdentifier)Set the sector identifier host component as derived from either thesector_identifier_urior the registeredredirect_uri.ClientsetDescription(String description)Set the description.ClientsetDescriptions(TaggedValue[] descriptions)Set the descriptions for specific languages.ClientsetDeveloper(String developer)Set the unique ID of the developer of this client application.ClientsetDigestAlgorithm(String algorithm)Set the digest algorithm that this client requests the server to use when it computes digest values of external attachments, which may be referenced from within ID tokens or userinfo responses (or any place that can have theverified_claimsclaim).ClientsetDpopRequired(boolean dpopRequired)Get the flag indicating whether this client requires DPoP access tokens.ClientsetDynamicallyRegistered(boolean dynamicallyRegistered)Set the flag which indicates whether this client has been registered dynamically.ClientsetEntityId(URI entityId)Set the entity ID of this client.ClientsetExplicitlyRegistered(boolean explicit)Set the flag indicating whether this client was registered by the "explicit" client registration of OpenID Federation.ClientsetExtension(ClientExtension extension)Set the extended information about this client.ClientsetFapiModes(FapiMode[] modes)Set the FAPI modes for this client.ClientsetFrontChannelRequestObjectEncryptionRequired(boolean required)Set the flag indicating whether encryption of request object is required when the request object is passed through the front channel.ClientsetGrantTypes(GrantType[] grantTypes)Setgrant_typevalues that the client is declaring that it will restrict itself to using.ClientsetIdTokenEncryptionAlg(JWEAlg alg)Set the JWEalgalgorithm for encrypting the ID token issued to this client.ClientsetIdTokenEncryptionEnc(JWEEnc enc)Set the JWEencalgorithm for encrypting the ID token issued to this client.ClientsetIdTokenSignAlg(JWSAlg alg)Set the JWSalgalgorithm for signing the ID token issued to this client.ClientsetInScopeForTokenMigration(boolean inScopeForTokenMigration)Sets the flag that indicates that this Client is in scope for token migration.ClientsetJwks(String jwks)Set the JSON Web Key Set.ClientsetJwksUri(URI uri)Set the URI of the JSON Web Key Set of the client application.ClientsetLocked(boolean locked)Set the flag which indicates whether this client is locked.ClientsetLoginUri(URI uri)Set the URL that can initiate a login for this client application.ClientsetLogoUri(URI uri)Set the URI of the logo image.ClientsetLogoUris(TaggedValue[] uris)Set the logo URIs each of which has a language tag.ClientsetModifiedAt(long modifiedAt)Set the time at which this client was last modified.ClientsetMtlsEndpointAliasesUsed(boolean mtlsEndpointAliasesUsed)Set the flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.ClientsetNumber(int number)Set the client number.ClientsetOrganizationName(String name)Set the human-readable name representing the organization that manages this client.ClientsetParRequired(boolean required)Set the flag indicating whether this client is required to use the pushed authorization request endpoint.ClientsetPkceRequired(boolean required)Set the flag indicating whether PKCE (RFC 7636) is required whenever this client makes an authorization request by the authorization code flow.ClientsetPkceS256Required(boolean required)Set the flag indicating whetherS256must be used as the code challenge method whenever this client uses PKCE (RFC 7636).ClientsetPolicyUri(URI uri)Set the URI of the policy page which describes how the client application uses the profile data of the end-user.ClientsetPolicyUris(TaggedValue[] uris)Set the URIs of the policy pages for specific languages.ClientsetRedirectUris(String[] uris)Set the redirect URIs.ClientsetRegistrationAccessTokenHash(String registrationAccessToken)Set the hash of the registration access token for this client.ClientsetRequestEncryptionAlg(JWEAlg alg)Set the JWEalgalgorithm for encrypting request objects.ClientsetRequestEncryptionEnc(JWEEnc enc)Set the JWEencalgorithm for encrypting request objects.ClientsetRequestObjectEncryptionAlgMatchRequired(boolean required)Set the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.ClientsetRequestObjectEncryptionEncMatchRequired(boolean required)Set the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.ClientsetRequestObjectRequired(boolean required)Set the flag indicating whether authorization requests from this client are always required to utilize a request object by using eitherrequestorrequest_urirequest parameter.ClientsetRequestSignAlg(JWSAlg alg)Set the JWSalgalgorithm for signing request objects.ClientsetRequestUris(String[] uris)Set the request URIs that this client declares it may use.ClientsetResponseModes(ResponseMode[] modes)Set the response modes that this client may use.ClientsetResponseTypes(ResponseType[] responseTypes)Setresponse_typevalues that the client is declaring that it will restrict itself to using.ClientsetRsRequestSigned(boolean signed)Deprecated.ClientsetRsSignedRequestKeyId(String keyId)Set the key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.ClientsetSectorIdentifier(URI sectorIdentifier)Deprecated.Since Authlete 2.2.ClientsetSectorIdentifierUri(URI uri)Set the value of the sector identifier URI.ClientsetSelfSignedCertificateKeyId(String keyId)Set the key ID of a JWK containing a self-signed certificate of this client.ClientsetServiceNumber(int number)Set the number of the service which this client belongs to.ClientsetSignedJwksUri(URI uri)Set the URI of the endpoint that returns this client's JWK Set document in the JWT format.ClientsetSingleAccessTokenPerSubject(boolean single)Set the flag which indicates whether the number of access tokens per subject (and per client) is at most one or can be more.ClientsetSoftwareId(String softwareId)Set a unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.ClientsetSoftwareVersion(String softwareVersion)Set a version identifier string for the client software identified by the software ID.ClientsetSubjectType(SubjectType subjectType)Set the subject type that this client application requests.ClientsetTlsClientAuthSanDns(String tlsClientAuthSanDns)Set the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual TLS authentication.ClientsetTlsClientAuthSanEmail(String tlsClientAuthSanEmail)Set the string representation of the expected email address subject alternative name of the certificate this client will use in mutual TLS authentication.ClientsetTlsClientAuthSanIp(String tlsClientAuthSanIp)Set the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual TLS authentication.ClientsetTlsClientAuthSanUri(URI tlsClientAuthSanUri)Set the string representation of the expected URI subject alternative name of the certificate this client will use in mutual TLS authentication.ClientsetTlsClientAuthSubjectDn(String name)Set the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.ClientsetTlsClientCertificateBoundAccessTokens(boolean use)Set whether this client uses TLS client certificate bound access tokens or not.ClientsetTokenAuthMethod(ClientAuthMethod method)Set the client authentication method for the token endpoint.ClientsetTokenAuthSignAlg(JWSAlg alg)Set the JWSalgalgorithm for signing the JWT used to authenticate the client at the token endpoint.ClientsetTosUri(URI uri)Set the URI of the "Terms Of Service" page.ClientsetTosUris(TaggedValue[] uris)Set the URIs of the "Terms Of Service" pages for specific languages.ClientsetTrustAnchorId(URI trustAnchorId)Set the entity ID of the trust anchor of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.ClientsetTrustChain(String[] trustChain)Set the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.ClientsetTrustChainExpiresAt(long expiresAt)Set the expiration time of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.ClientsetTrustChainUpdatedAt(long updatedAt)Set the time at which the trust chain was updated by the mechanism defined in OpenID Federation 1.0.ClientsetUserInfoEncryptionAlg(JWEAlg alg)Set the JWEalgalgorithm for encrypting UserInfo responses.ClientsetUserInfoEncryptionEnc(JWEEnc enc)Set the JWEencalgorithm for encrypting UserInfo responses.ClientsetUserInfoSignAlg(JWSAlg alg)Set the JWSalgalgorithm for signing UserInfo responses.Map<String,Object>toStandardMetadata()Get aMapinstance that represents a set of standard client metadata.Map<String,Object>toStandardMetadata(ClientMetadataControl control)Get aMapinstance that represents a set of standard client metadata.
-
-
-
Method Detail
-
getNumber
public int getNumber()
Get the client number.- Returns:
- The client number.
-
setNumber
public Client setNumber(int number)
Set the client number.- Parameters:
number- The client number.- Returns:
thisobject.
-
getServiceNumber
public int getServiceNumber()
Get the number of the service which this client belongs to.- Returns:
- The service number
-
setServiceNumber
public Client setServiceNumber(int number)
Set the number of the service which this client belongs to.- Parameters:
number- The service number.- Returns:
thisobject.
-
getDeveloper
public String getDeveloper()
Get the unique ID of the developer of this client application.- Returns:
- The developer unique ID.
-
setDeveloper
public Client setDeveloper(String developer)
Set the unique ID of the developer of this client application.- Parameters:
developer- The developer unique ID.- Returns:
thisobject.
-
getClientId
public long getClientId()
Get the client ID.- Returns:
- The client ID.
-
setClientId
public Client setClientId(long clientId)
Set the client ID.- Parameters:
clientId- The client ID.- Returns:
thisobject.
-
getClientIdAlias
public String getClientIdAlias()
Get the alias of the client ID.Note that the client ID alias is recognized only when this client's
clientIdAliasEnabledproperty istrueAND theservice'sclientIdAliasEnabledproperty is alsotrue.- Returns:
- The alias of the client ID. This may be
null. - Since:
- 2.1
-
setClientIdAlias
public Client setClientIdAlias(String alias)
Set the alias of the client ID.Note that the client ID alias is recognized only when this client's
clientIdAliasEnabledproperty istrueAND theservice'sclientIdAliasEnabledproperty is alsotrue.- Parameters:
alias- The alias of the client ID.- Returns:
thisobject.- Since:
- 2.1
-
isClientIdAliasEnabled
public boolean isClientIdAliasEnabled()
Get the flag which indicates whether the client ID alias is enabled or not.Note that
Serviceclass also hasclientIdAliasEnabledproperty. If the service'sclientIdAliasEnabledproperty isfalse, the client ID alias of this client is not recognized even if this client'sclientIdAliasEnabledproperty istrue.- Returns:
trueif the client ID alias is enabled.- Since:
- 2.2
-
setClientIdAliasEnabled
public Client setClientIdAliasEnabled(boolean enabled)
Enable/disable the client ID alias.Note that
Serviceclass also hasclientIdAliasEnabledproperty. If the service'sclientIdAliasEnabledproperty isfalse, the client ID alias of this client is not recognized even if this client'sclientIdAliasEnabledproperty istrue.- Parameters:
enabled-trueto enable the client ID alias.falseto disable it.- Returns:
thisobject.- Since:
- 2.2
-
getClientSecret
public String getClientSecret()
Get the client secret.- Returns:
- The client secret.
-
setClientSecret
public Client setClientSecret(String clientSecret)
Set the client secret.- Parameters:
clientSecret- The client secret.- Returns:
thisobject.
-
getClientType
public ClientType getClientType()
Get the client type.- Returns:
- The client type.
-
setClientType
public Client setClientType(ClientType clientType)
Set the client type.- Parameters:
clientType- The client type.- Returns:
thisobject.
-
getRedirectUris
public String[] getRedirectUris()
Get the redirect URIs.- Returns:
- The redirect URIs.
- See Also:
- RFC 6749 (OAuth 2.0), 3.1.2. Redirection Endpoint
-
setRedirectUris
public Client setRedirectUris(String[] uris)
Set the redirect URIs.- Parameters:
uris- The redirect URIs.- Returns:
thisobject.- See Also:
- RFC 6749 (OAuth 2.0), 3.1.2. Redirection Endpoint
-
getResponseTypes
public ResponseType[] getResponseTypes()
Getresponse_typevalues that the client is declaring that it will restrict itself to using.- Returns:
- The response types.
-
setResponseTypes
public Client setResponseTypes(ResponseType[] responseTypes)
Setresponse_typevalues that the client is declaring that it will restrict itself to using.- Parameters:
responseTypes- The response types.- Returns:
thisobject.
-
getGrantTypes
public GrantType[] getGrantTypes()
Getgrant_typevalues that the client is declaring that it will restrict itself to using.- Returns:
- The grant types.
-
setGrantTypes
public Client setGrantTypes(GrantType[] grantTypes)
Setgrant_typevalues that the client is declaring that it will restrict itself to using.- Parameters:
grantTypes- The grant types.- Returns:
thisobject.
-
getApplicationType
public ApplicationType getApplicationType()
Get the application type.- Returns:
- The application type.
- See Also:
- OpenID Connect Dynamic Client Registration 1.0, 2. Client Metadata
-
setApplicationType
public Client setApplicationType(ApplicationType applicationType)
Set the application type.- Parameters:
applicationType- The application type.- Returns:
thisobject.- See Also:
- OpenID Connect Dynamic Client Registration 1.0, 2. Client Metadata
-
getContacts
public String[] getContacts()
Get the email addresses of contacts.- Returns:
- Email addresses of contacts.
-
setContacts
public Client setContacts(String[] contacts)
Set the email addresses of contacts.- Parameters:
contacts- Email addresses of contacts.- Returns:
thisobject.
-
getClientName
public String getClientName()
Get the client name.- Returns:
- The client name.
-
setClientName
public Client setClientName(String clientName)
Set the client name.- Parameters:
clientName- The client name.- Returns:
thisobject.
-
getClientNames
public TaggedValue[] getClientNames()
Get the client names each of which has a language tag.- Returns:
- The client names each of which has a language tag.
-
setClientNames
public Client setClientNames(TaggedValue[] clientNames)
Set the client names each of which has a language tag.- Parameters:
clientNames- The client names.- Returns:
thisobject.
-
getLogoUri
public URI getLogoUri()
Get the URI of the logo image.- Returns:
- The URI of the logo image.
-
setLogoUri
public Client setLogoUri(URI uri)
Set the URI of the logo image.- Parameters:
uri- The URI of the logo image.- Returns:
thisobject.
-
getLogoUris
public TaggedValue[] getLogoUris()
Get the logo URIs each of which has a language tag.- Returns:
- The logo URIs.
-
setLogoUris
public Client setLogoUris(TaggedValue[] uris)
Set the logo URIs each of which has a language tag.- Parameters:
uris- The logo URIs.- Returns:
thisobject.
-
getClientUri
public URI getClientUri()
Get the URI of the home page.- Returns:
- The URI of the home page.
-
setClientUri
public Client setClientUri(URI uri)
Set the URI of the home page.- Parameters:
uri- The URI of the home page.- Returns:
thisobject.
-
getClientUris
public TaggedValue[] getClientUris()
Get the URIs of the home pages for specific languages.- Returns:
- The URIs of the home page for specific languages.
-
setClientUris
public Client setClientUris(TaggedValue[] uris)
Set the URIs of the home pages for specific languages.- Parameters:
uris- The URIs of the home page for specific languages.- Returns:
thisobject.
-
getPolicyUri
public URI getPolicyUri()
Get the URI of the policy page which describes how the client application uses the profile data of the end-user.- Returns:
- The URI of the policy page.
-
setPolicyUri
public Client setPolicyUri(URI uri)
Set the URI of the policy page which describes how the client application uses the profile data of the end-user.- Parameters:
uri- The URI of the policy page.- Returns:
thisobject.
-
getPolicyUris
public TaggedValue[] getPolicyUris()
Get the URIs of the policy pages for specific languages.- Returns:
- The URIs of the policy pages for specific languages.
-
setPolicyUris
public Client setPolicyUris(TaggedValue[] uris)
Set the URIs of the policy pages for specific languages.- Parameters:
uris- The URIs of the policy pages for specific languages.- Returns:
thisobject.
-
getTosUri
public URI getTosUri()
Get the URI of the "Terms Of Service" page.- Returns:
- The URI of the "Terms Of Service" page.
-
setTosUri
public Client setTosUri(URI uri)
Set the URI of the "Terms Of Service" page.- Parameters:
uri- The URI of the "Terms Of Service" page.- Returns:
thisobject.
-
getTosUris
public TaggedValue[] getTosUris()
Get the URIs of the "Terms Of Service" pages for specific languages.- Returns:
- The URIs of the "Terms Of Service" pages for specific languages.
-
setTosUris
public Client setTosUris(TaggedValue[] uris)
Set the URIs of the "Terms Of Service" pages for specific languages.- Parameters:
uris- The URIs of the "Terms Of Service" pages for specific languages.- Returns:
thisobject.
-
getJwksUri
public URI getJwksUri()
Get the URI of the JSON Web Key Set of the client application.- Returns:
- The URI of the JSON Web Key Set of the client application.
-
setJwksUri
public Client setJwksUri(URI uri)
Set the URI of the JSON Web Key Set of the client application.- Parameters:
uri- The URI of the JSON Web Key Set of the client application.- Returns:
thisobject.
-
getJwks
public String getJwks()
Get the JSON Web Key Set.- Returns:
- The JSON Web Key Set.
-
setJwks
public Client setJwks(String jwks)
Set the JSON Web Key Set.- Parameters:
jwks- The JSON Web Key Set.- Returns:
thisobject.
-
getSectorIdentifier
@Deprecated public URI getSectorIdentifier()
Deprecated.Since Authlete 2.2. UsegetSectorIdentifierUri()instead.Get the sector identifier.- Returns:
- The sector identifier.
-
setSectorIdentifier
@Deprecated public Client setSectorIdentifier(URI sectorIdentifier)
Deprecated.Since Authlete 2.2. UsesetSectorIdentifierUri(URI)instead.Set the sector identifier.- Parameters:
sectorIdentifier- The sector identifier.- Returns:
thisobject.
-
getSectorIdentifierUri
public URI getSectorIdentifierUri()
Get the value of the sector identifier URI.This represents the
sector_identifier_uriclient metadata which is defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.- Returns:
- The sector identifier URI.
- Since:
- 2.50
-
setSectorIdentifierUri
public Client setSectorIdentifierUri(URI uri)
Set the value of the sector identifier URI.This represents the
sector_identifier_uriclient metadata which is defined in 2. Client Metadata of OpenID Connect Dynamic Client Registration 1.0.- Parameters:
uri- The sector identifier URI.- Returns:
thisobject.- Since:
- 2.50
-
getDerivedSectorIdentifier
public String getDerivedSectorIdentifier()
Get the sector identifier host component as derived from either thesector_identifier_urior the registeredredirect_uri. If nosector_identifier_uriis registered and multipleredirect_uris are also registered, this value is undefined and the field returnsnull.- Returns:
- The derived sector identifier, if available, or
nullotherwise. - Since:
- 2.61
- See Also:
- OIDC Core, 8.1. Pairwise Identifier Algorithm
-
setDerivedSectorIdentifier
public Client setDerivedSectorIdentifier(String derivedSectorIdentifier)
Set the sector identifier host component as derived from either thesector_identifier_urior the registeredredirect_uri. If nosector_identifier_uriis registered and multipleredirect_uris are also registered, this value is undefined and the field isnull.- Parameters:
derivedSectorIdentifier- The derived sector identifier, if available, ornullotherwise.- Returns:
thisobject.- Since:
- 2.61
- See Also:
- OIDC Core, 8.1. Pairwise Identifier Algorithm
-
getSubjectType
public SubjectType getSubjectType()
Get the subject type that this client application requests.- Returns:
- The subject type.
- See Also:
- Subject Identifier Types
-
setSubjectType
public Client setSubjectType(SubjectType subjectType)
Set the subject type that this client application requests.- Parameters:
subjectType- The subject type.- Returns:
thisobject.- See Also:
- Subject Identifier Types
-
getIdTokenSignAlg
public JWSAlg getIdTokenSignAlg()
Get the JWSalgalgorithm for signing the ID token issued to this client. This property corresponds toid_token_signed_response_algin Client Metadata.- Returns:
- The JWS
algalgorithm for signing the ID token issued to this client.
-
setIdTokenSignAlg
public Client setIdTokenSignAlg(JWSAlg alg)
Set the JWSalgalgorithm for signing the ID token issued to this client. This property corresponds toid_token_signed_response_algin Client Metadata.- Parameters:
alg- The JWSalgalgorithm for signing the ID token issued to this client.- Returns:
thisobject.
-
getIdTokenEncryptionAlg
public JWEAlg getIdTokenEncryptionAlg()
Get the JWEalgalgorithm for encrypting the ID token issued to this client. This property corresponds toid_token_encrypted_response_algin Client Metadata.- Returns:
- The JWE
algalgorithm for encrypting the ID token issued to this client.
-
setIdTokenEncryptionAlg
public Client setIdTokenEncryptionAlg(JWEAlg alg)
Set the JWEalgalgorithm for encrypting the ID token issued to this client. This property corresponds toid_token_encrypted_response_algin Client Metadata.- Parameters:
alg- The JWEalgalgorithm for encrypting the ID token issued to this client.- Returns:
thisobject.
-
getIdTokenEncryptionEnc
public JWEEnc getIdTokenEncryptionEnc()
Get the JWEencalgorithm for encrypting the ID token issued to this client. This property corresponds toid_token_encrypted_response_encin Client Metadata.- Returns:
- The JWE
encalgorithm for encrypting the ID token issued to this client.
-
setIdTokenEncryptionEnc
public Client setIdTokenEncryptionEnc(JWEEnc enc)
Set the JWEencalgorithm for encrypting the ID token issued to this client. This property corresponds toid_token_encrypted_response_encin Client Metadata.- Parameters:
enc- The JWEencalgorithm for encrypting the ID token issued to this client.- Returns:
thisobject.
-
getUserInfoSignAlg
public JWSAlg getUserInfoSignAlg()
Get the JWSalgalgorithm for signing UserInfo responses. This property corresponds touserinfo_signed_response_algin Client Metadata.- Returns:
- The JWS
algalgorithm for signing UserInfo responses.
-
setUserInfoSignAlg
public Client setUserInfoSignAlg(JWSAlg alg)
Set the JWSalgalgorithm for signing UserInfo responses. This property corresponds touserinfo_signed_response_algin Client Metadata.- Parameters:
alg- The JWSalgalgorithm for signing UserInfo responses.- Returns:
thisobject.
-
getUserInfoEncryptionAlg
public JWEAlg getUserInfoEncryptionAlg()
Get the JWEalgalgorithm for encrypting UserInfo responses. This property corresponds touserinfo_encrypted_response_algin Client Metadata.- Returns:
- The JWE
algalgorithm for encrypting UserInfo responses.
-
setUserInfoEncryptionAlg
public Client setUserInfoEncryptionAlg(JWEAlg alg)
Set the JWEalgalgorithm for encrypting UserInfo responses. This property corresponds touserinfo_encrypted_response_algin Client Metadata.- Parameters:
alg- The JWEalgalgorithm for encrypting UserInfo responses.- Returns:
thisobject.
-
getUserInfoEncryptionEnc
public JWEEnc getUserInfoEncryptionEnc()
Get the JWEencalgorithm for encrypting UserInfo responses. This property corresponds touserinfo_encrypted_response_encin Client Metadata.- Returns:
- The JWE
encalgorithm for encrypting UserInfo responses.
-
setUserInfoEncryptionEnc
public Client setUserInfoEncryptionEnc(JWEEnc enc)
Set the JWEencalgorithm for encrypting UserInfo responses. This property corresponds touserinfo_encrypted_response_encin Client Metadata.- Parameters:
enc- The JWEencalgorithm for encrypting UserInfo responses.- Returns:
thisobject.
-
getRequestSignAlg
public JWSAlg getRequestSignAlg()
Get the JWSalgalgorithm for signing request objects. This property corresponds torequest_object_signing_algin Client Metadata.- Returns:
- The JWS
algalgorithm for signing request objects.
-
setRequestSignAlg
public Client setRequestSignAlg(JWSAlg alg)
Set the JWSalgalgorithm for signing request objects. This property corresponds torequest_object_signing_algin Client Metadata.- Parameters:
alg- The JWSalgalgorithm for signing request objects.- Returns:
thisobject.
-
getRequestEncryptionAlg
public JWEAlg getRequestEncryptionAlg()
Get the JWEalgalgorithm for encrypting request objects. This property corresponds torequest_object_encryption_algin Client Metadata.- Returns:
- The JWE
algalgorithm for encrypting request objects.
-
setRequestEncryptionAlg
public Client setRequestEncryptionAlg(JWEAlg alg)
Set the JWEalgalgorithm for encrypting request objects. This property corresponds torequest_object_encryption_algin Client Metadata.- Parameters:
alg- The JWEalgalgorithm for encrypting request objects.- Returns:
thisobject.
-
getRequestEncryptionEnc
public JWEEnc getRequestEncryptionEnc()
Get the JWEencalgorithm for encrypting request objects. This property corresponds torequest_object_encryption_encin Client Metadata.- Returns:
- The JWE
encalgorithm for encrypting request objects.
-
setRequestEncryptionEnc
public Client setRequestEncryptionEnc(JWEEnc enc)
Set the JWEencalgorithm for encrypting request objects. This property corresponds torequest_object_encryption_encin Client Metadata.- Parameters:
enc- The JWEencalgorithm for encrypting request objects.- Returns:
thisobject.
-
getTokenAuthMethod
public ClientAuthMethod getTokenAuthMethod()
Get the client authentication method for the token endpoint. This property corresponds totoken_endpoint_auth_methodin Client Metadata.- Returns:
- The client authentication method for the token endpoint.
-
setTokenAuthMethod
public Client setTokenAuthMethod(ClientAuthMethod method)
Set the client authentication method for the token endpoint. This property corresponds totoken_endpoint_auth_methodin Client Metadata.- Parameters:
method- The client authentication method for the token endpoint.- Returns:
thisobject.
-
getTokenAuthSignAlg
public JWSAlg getTokenAuthSignAlg()
Get the JWSalgalgorithm for signing the JWT used to authenticate the client at the token endpoint. This property corresponds totoken_endpoint_auth_signing_algin Client Metadata.- Returns:
- The JWS
algalgorithm for signing the JWT used to authenticate the client at the token endpoint.
-
setTokenAuthSignAlg
public Client setTokenAuthSignAlg(JWSAlg alg)
Set the JWSalgalgorithm for signing the JWT used to authenticate the client at the token endpoint. This property corresponds totoken_endpoint_auth_signing_algin Client Metadata.- Parameters:
alg- The JWSalgalgorithm for signing the JWT used to authenticate the client at the token endpoint.- Returns:
thisobject.
-
getDefaultMaxAge
public int getDefaultMaxAge()
Get the default value of the maximum authentication age in seconds. This property corresponds todefault_max_agein Client Metadata.- Returns:
- The default value of the maximum authentication age in seconds.
-
setDefaultMaxAge
public Client setDefaultMaxAge(int defaultMaxAge)
Set the default value of the maximum authentication age in seconds. This property corresponds todefault_max_agein Client Metadata.This value is used when the request from the client application does not contain the
max_agerequest parameter.- Parameters:
defaultMaxAge- The default value of the maximum authentication age in seconds. 0 means that no default value is set.- Returns:
thisobject.
-
isAuthTimeRequired
public boolean isAuthTimeRequired()
Get the flag which indicates whether this client requiresauth_timeclaim to be embedded in the ID token. This property corresponds torequire_auth_timein Client Metadata.- Returns:
- The flag which indicates whether this client requires
auth_timeclaim to be embedded in the ID token.
-
setAuthTimeRequired
public Client setAuthTimeRequired(boolean required)
Set the flag which indicates whether this client requiresauth_timeclaim to be embedded in the ID token. This property corresponds torequire_auth_timein Client Metadata.- Parameters:
required- The flag which indicates whether this client requiresauth_timeclaim to be embedded in the ID token.- Returns:
thisobject.
-
getDefaultAcrs
public String[] getDefaultAcrs()
Get the default list of authentication context class references. This property corresponds todefault_acr_valuesin Client Metadata.- Returns:
- The default list of authentication context class references.
-
setDefaultAcrs
public Client setDefaultAcrs(String[] defaultAcrs)
Set the default list of authentication context class references. This property corresponds todefault_max_agein Client Metadata.This value is used when the request from the client application does not contain the
acr_valuesrequest parameter.- Parameters:
defaultAcrs- The default list of authentication context class references.- Returns:
thisobject.
-
getLoginUri
public URI getLoginUri()
Get the URL that can initiate a login for this client application. This property corresponds toinitiate_login_uriin Client Metadata.- Returns:
- The URL that can initiate a login for this client application.
-
setLoginUri
public Client setLoginUri(URI uri)
Set the URL that can initiate a login for this client application. This property corresponds toinitiate_login_uriin Client Metadata.- Parameters:
uri- The URL that can initiate a login for this client application.- Returns:
thisobject.
-
getRequestUris
public String[] getRequestUris()
Get the request URIs that this client declares it may use. This property corresponds torequest_urisin Client Metadata.- Returns:
- The request URIs that this client declares it may use.
-
setRequestUris
public Client setRequestUris(String[] uris)
Set the request URIs that this client declares it may use. This property corresponds torequest_urisin Client Metadata.- Parameters:
uris- The request URIs that this client declares it may use.- Returns:
thisobject.
-
getDescription
public String getDescription()
Get the description.- Returns:
- The description.
-
setDescription
public Client setDescription(String description)
Set the description.- Parameters:
description- The description.- Returns:
thisobject.
-
getDescriptions
public TaggedValue[] getDescriptions()
Get the descriptions for specific languages.- Returns:
- The descriptions for specific languages.
-
setDescriptions
public Client setDescriptions(TaggedValue[] descriptions)
Set the descriptions for specific languages.- Parameters:
descriptions- The descriptions for specific languages.- Returns:
thisobject.
-
getCreatedAt
public long getCreatedAt()
Get the time at which this client was created.- Returns:
- The time at which this client was created. The value is represented as milliseconds since the UNIX epoch (1970-01-01).
- Since:
- 1.6
-
setCreatedAt
public Client setCreatedAt(long createdAt)
Set the time at which this client was created.- Parameters:
createdAt- The time at which this client was created.- Returns:
thisobject.- Since:
- 1.6
-
getModifiedAt
public long getModifiedAt()
Get the time at which this client was last modified.- Returns:
- The time at which this client was last modified. The value is represented as milliseconds since the UNIX epoch (1970-01-01).
- Since:
- 1.6
-
setModifiedAt
public Client setModifiedAt(long modifiedAt)
Set the time at which this client was last modified.- Parameters:
modifiedAt- The time at which this client was modified.- Returns:
thisobject.- Since:
- 1.6
-
getExtension
public ClientExtension getExtension()
Get the extended information about this client.- Returns:
- The extended information about this client.
- Since:
- 1.39
-
setExtension
public Client setExtension(ClientExtension extension)
Set the extended information about this client.- Parameters:
extension- The extended information about this client.- Returns:
thisobject.- Since:
- 1.39
-
getTlsClientAuthSubjectDn
public String getTlsClientAuthSubjectDn()
Get the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_subject_dnin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Returns:
- The expected subject distinguished name of the client certificate.
- Since:
- 2.7
-
setTlsClientAuthSubjectDn
public Client setTlsClientAuthSubjectDn(String name)
Set the string representation of the expected subject distinguished name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_subject_dnin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Parameters:
name- The expected subject distinguished name of the client certificate.- Returns:
thisobject.- Since:
- 2.7
-
getTlsClientAuthSanDns
public String getTlsClientAuthSanDns()
Get the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_dnsin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Returns:
- The expected DNS subject alternative name of the client certificate.
- Since:
- 2.38
-
setTlsClientAuthSanDns
public Client setTlsClientAuthSanDns(String tlsClientAuthSanDns)
Set the string representation of the expected DNS subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_dnsin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Parameters:
name- The expected DNS subject alternative name of the client certificate.- Returns:
thisobject.- Since:
- 2.38
-
getTlsClientAuthSanUri
public URI getTlsClientAuthSanUri()
Get the string representation of the expected URI subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_uriin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Returns:
- The expected URI subject alternative name of the client certificate.
- Since:
- 2.38
-
setTlsClientAuthSanUri
public Client setTlsClientAuthSanUri(URI tlsClientAuthSanUri)
Set the string representation of the expected URI subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_uriin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Parameters:
name- The expected URI subject alternative name of the client certificate.- Returns:
thisobject.- Since:
- 2.38
-
getTlsClientAuthSanIp
public String getTlsClientAuthSanIp()
Get the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_ipin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Returns:
- The expected IP address subject alternative name of the client certificate.
- Since:
- 2.38
-
setTlsClientAuthSanIp
public Client setTlsClientAuthSanIp(String tlsClientAuthSanIp)
Set the string representation of the expected IP address subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_ipin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Parameters:
name- The expected IP address subject alternative name of the client certificate.- Returns:
thisobject.- Since:
- 2.38
-
getTlsClientAuthSanEmail
public String getTlsClientAuthSanEmail()
Get the string representation of the expected email address subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_emailin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Returns:
- The expected email address subject alternative name of the client certificate.
- Since:
- 2.38
-
setTlsClientAuthSanEmail
public Client setTlsClientAuthSanEmail(String tlsClientAuthSanEmail)
Set the string representation of the expected email address subject alternative name of the certificate this client will use in mutual TLS authentication.See
tls_client_auth_san_emailin "2.3. Dynamic Client Registration" in "Mutual TLS Profiles for OAuth Clients" for details.- Parameters:
name- The expected email address subject alternative name of the client certificate.- Returns:
thisobject.- Since:
- 2.38
-
isTlsClientCertificateBoundAccessTokens
public boolean isTlsClientCertificateBoundAccessTokens()
Does this client use TLS client certificate bound access tokens?- Returns:
trueif this client uses TLS client certificate bound access tokens.- Since:
- 2.19
-
setTlsClientCertificateBoundAccessTokens
public Client setTlsClientCertificateBoundAccessTokens(boolean use)
Set whether this client uses TLS client certificate bound access tokens or not.- Parameters:
use-trueto indicate that this client uses TLS client certificate bound access tokens.- Returns:
thisobject.- Since:
- 2.19
-
getSelfSignedCertificateKeyId
public String getSelfSignedCertificateKeyId()
Get the key ID of a JWK containing a self-signed certificate of this client.See "2.2. Self-Signed Certificate Mutual TLS OAuth Client Authentication Method" in "OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens" for details.
- Returns:
- A key ID of a JWK. This may be
null. - Since:
- 2.20
-
setSelfSignedCertificateKeyId
public Client setSelfSignedCertificateKeyId(String keyId)
Set the key ID of a JWK containing a self-signed certificate of this client. Unless this value is set tonull, Authlete uses this value to look up the corresponding JWK for client authentication using mutual TLS utilizing self-signed certificates.See "2.2. Self-Signed Certificate Mutual TLS OAuth Client Authentication Method" in "OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens" for details.
- Parameters:
keyId- A key ID of a JWK. This may benull.- Returns:
thisobject.- Since:
- 2.20
-
getSoftwareId
public String 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.This property corresponds to the
software_idmetadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).- Returns:
- The unique identifier of the client software.
- Since:
- 2.24
-
setSoftwareId
public Client setSoftwareId(String softwareId)
Set a unique identifier string assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered.This property corresponds to the
software_idmetadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).- Parameters:
softwareId- A unique identifier of the client software.- Returns:
thisobject.- Since:
- 2.24
-
getSoftwareVersion
public String getSoftwareVersion()
Get the version identifier string for the client software identified by the software ID.This property corresponds to the
software_versionmetadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).- Returns:
- The version of the client software.
- Since:
- 2.24
-
setSoftwareVersion
public Client setSoftwareVersion(String softwareVersion)
Set a version identifier string for the client software identified by the software ID.This property corresponds to the
software_versionmetadata defined in 2. Client Metadata of RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol).- Parameters:
softwareVersion- A version of the client software.- Returns:
thisobject.- Since:
- 2.24
-
getAuthorizationSignAlg
public JWSAlg getAuthorizationSignAlg()
Get the JWSalgalgorithm for signing authorization responses. This property corresponds toauthorization_signed_response_algin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Returns:
- The JWS
algalgorithm for signing authorization responses. - Since:
- 2.27
-
setAuthorizationSignAlg
public Client setAuthorizationSignAlg(JWSAlg alg)
Set the JWSalgalgorithm for signing authorization responses. This property corresponds toauthorization_signed_response_algin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Parameters:
alg- The JWSalgalgorithm for signing authorization responses.- Returns:
thisobject.- Since:
- 2.27
-
getAuthorizationEncryptionAlg
public JWEAlg getAuthorizationEncryptionAlg()
Get the JWEalgalgorithm for encrypting authorization responses. This property corresponds toauthorization_encrypted_response_algin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Returns:
- The JWE
algalgorithm for encrypting authorization responses. - Since:
- 2.27
-
setAuthorizationEncryptionAlg
public Client setAuthorizationEncryptionAlg(JWEAlg alg)
Set the JWEalgalgorithm for encrypting authorization responses. This property corresponds toauthorization_encrypted_response_algin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Parameters:
alg- The JWEalgalgorithm for encrypting authorization responses.- Returns:
thisobject.- Since:
- 2.27
-
getAuthorizationEncryptionEnc
public JWEEnc getAuthorizationEncryptionEnc()
Get the JWEencalgorithm for encrypting authorization responses. This property corresponds toauthorization_encrypted_response_encin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Returns:
- The JWE
encalgorithm for encrypting authorization responses. - Since:
- 2.27
-
setAuthorizationEncryptionEnc
public Client setAuthorizationEncryptionEnc(JWEEnc enc)
Set the JWEencalgorithm for encrypting authorization responses. This property corresponds toauthorization_encrypted_response_encin 5. Client Metadata of Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM).- Parameters:
enc- The JWEencalgorithm for encrypting authorization responses.- Returns:
thisobject.- Since:
- 2.27
-
getBcDeliveryMode
public DeliveryMode getBcDeliveryMode()
Get the backchannel token delivery mode. This property corresponds to thebackchannel_token_delivery_modemetadata.The backchannel token delivery mode is defined in the specification of the CIBA (Client Initiated Backchannel Authentication).
- Returns:
- The backchannel token delivery mode.  @since 2.32
-
setBcDeliveryMode
public Client setBcDeliveryMode(DeliveryMode mode)
Set the backchannel token delivery mode. This property corresponds to thebackchannel_token_delivery_modemetadata.The backchannel token delivery mode is defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Parameters:
mode- The backchannel token delivery mode.- Returns:
thisobject.- Since:
- 2.32
-
getBcNotificationEndpoint
public URI getBcNotificationEndpoint()
Get the backchannel client notification endpoint. This property corresponds to thebackchannel_client_notification_endpointmetadata.The backchannel client notification endpoint is defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Returns:
- The backchannel client notification endpoint.  @since 2.32
-
setBcNotificationEndpoint
public Client setBcNotificationEndpoint(URI endpoint)
Set the backchannel client notification endpoint. This property corresponds to thebackchannel_client_notification_endpointmetadata.The backchannel client notification endpoint is defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Parameters:
endpoint- The backchannel client notification endpoint.- Returns:
thisobject.  @since 2.32
-
getBcRequestSignAlg
public JWSAlg getBcRequestSignAlg()
Get the signature algorithm of the request to the backchannel authentication endpoint. This property corresponds to thebackchannel_authentication_request_signing_algmetadata.- Returns:
- The signature algorithm of the request to the backchannel authentication endpoint.
- Since:
- 2.32
-
setBcRequestSignAlg
public Client setBcRequestSignAlg(JWSAlg alg)
Set the signature algorithm of the request to the backchannel authentication endpoint. This property corresponds to thebackchannel_authentication_request_signing_algmetadata.The specification of CIBA (Client Initiated Backchannel Authentication) allows asymmetric algorithms only.
- Parameters:
alg- The signature algorithm of the request to the backchannel authentication endpoint.- Returns:
thisobject.  @since 2.32
-
isBcUserCodeRequired
public boolean isBcUserCodeRequired()
Get the boolean flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to thebackchannel_user_code_parametermetadata.- Returns:
trueif a user code is required when this client makes a backchannel authentication request.- Since:
- 2.32
-
setBcUserCodeRequired
public Client setBcUserCodeRequired(boolean required)
Set the boolean flag which indicates whether a user code is required when this client makes a backchannel authentication request. This property corresponds to thebackchannel_user_code_parametermetadata.- Parameters:
required-trueto indicate that a user code is required when this client makes a backchannel authentication request.- Returns:
thisobject.- Since:
- 2.32
-
isDynamicallyRegistered
public boolean isDynamicallyRegistered()
Get the flag which indicates whether this client has been registered dynamically.- Parameters:
dynamicallyRegistered-trueif the client has been registered dynamically.- Returns:
thisobject.- Since:
- 2.39
-
setDynamicallyRegistered
public Client setDynamicallyRegistered(boolean dynamicallyRegistered)
Set the flag which indicates whether this client has been registered dynamically.- Parameters:
dynamicallyRegistered-trueif the client has been registered dynamically.- Returns:
thisobject.- Since:
- 2.39
-
getRegistrationAccessTokenHash
public String getRegistrationAccessTokenHash()
Get the hash of the registration access token for this client.- Returns:
- The hash of the registration access token for this client.
- Since:
- 2.39
-
setRegistrationAccessTokenHash
public Client setRegistrationAccessTokenHash(String registrationAccessToken)
Set the hash of the registration access token for this client.- Parameters:
registrationAccessToken- The hash of the registration access token for this client.- Returns:
thisobject.- Since:
- 2.39
-
getAuthorizationDetailsTypes
public String[] getAuthorizationDetailsTypes()
Get the authorization details types that this client may use as values of the"type"field in"authorization_details".This property corresponds to the
"authorization_details_types"metadata. See "OAuth 2.0 Rich Authorization Requests" (RAR) for details.Note that the property name was renamed from
authorizationDataTypestoauthorizationDetailsTypesto align with the change made by the 5th draft of the RAR specification.- Returns:
- Authorization details types used in
"authorization_details". - Since:
- 2.91
-
setAuthorizationDetailsTypes
public Client setAuthorizationDetailsTypes(String[] types)
Set the authorization details types that this client may use as values of the"type"field in"authorization_details".This property corresponds to the
"authorization_details_types"metadata. See "OAuth 2.0 Rich Authorization Requests" (RAR) for details.Note that the property name was renamed from
authorizationDataTypestoauthorizationDetailsTypesto align with the change made by the 5th draft of the RAR specification.- Parameters:
types- Authorization details types used in"authorization_details".- Returns:
thisobject.- Since:
- 2.91
-
isParRequired
public boolean isParRequired()
Get the flag indicating whether this client is required to use the pushed authorization request endpoint.This property corresponds to the
require_pushed_authorization_requestsclient metadata defined in "OAuth 2.0 Pushed Authorization Requests".- Returns:
trueif this client is required to use the pushed authorization request endpoint.- Since:
- 2.77
-
setParRequired
public Client setParRequired(boolean required)
Set the flag indicating whether this client is required to use the pushed authorization request endpoint.This property corresponds to the
require_pushed_authorization_requestsclient metadata defined in "OAuth 2.0 Pushed Authorization Requests".- Parameters:
required-trueto indicate that this client is required to use the pushed authorization request endpoint.- Returns:
thisobject.- Since:
- 2.77
-
isRequestObjectRequired
public boolean isRequestObjectRequired()
Get the flag indicating whether authorization requests from this client are always required to utilize a request object by using eitherrequestorrequest_urirequest parameter.If this flag is
trueand the service'sisTraditionalRequestObjectProcessingApplied()returnsfalse, authorization requests from this client are processed as ifrequire_signed_request_objectclient metadata of this client istrue. The metadata is defined in JAR (JWT Secured Authorization Request).- Returns:
trueif authorization requests from this client are always required to utilize a request object.- Since:
- 2.80
-
setRequestObjectRequired
public Client setRequestObjectRequired(boolean required)
Set the flag indicating whether authorization requests from this client are always required to utilize a request object by using eitherrequestorrequest_urirequest parameter.See the description of
isRequestObjectRequired()for details.- Parameters:
required-trueto require that authorization requests from this client always utilize a request object.- Returns:
thisobject.- Since:
- 2.80
-
getAttributes
public Pair[] getAttributes()
Get attributes.The feature of "client attributes" is available since Authlete 2.2.
- Returns:
- Attributes.
- Since:
- 2.87
-
setAttributes
public Client setAttributes(Pair[] attributes)
Set attributes.The feature of "client attributes" is available since Authlete 2.2.
- Parameters:
attributes- Attributes.- Returns:
thisobject.- Since:
- 2.87
-
loadAttributes
public Client loadAttributes(Iterable<Pair> attributes)
Load attributes from an iterable.The feature of "client attributes" is available since Authlete 2.2.
- Parameters:
attributes- Attributes.- Returns:
thisobject.- Since:
- 2.89
-
getCustomMetadata
public String getCustomMetadata()
Get the custom client metadata in JSON format.Standard specifications define client metadata as necessary. The following are such examples.
- OpenID Connect Dynamic Client Registration 1.0
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol
- RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens
- OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0
- RFC 9101 The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)
- Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)
- RFC 9126 OAuth 2.0 Pushed Authorization Requests
- RFC 9396 OAuth 2.0 Rich Authorization Requests
Standard client metadata included in Client Registration Request and Client Update Request (cf. OIDC DynReg, RFC 7591 and RFC 7592) are, if supported by Authlete, set to corresponding properties of the client application. For example, the value of the
client_nameclient metadata in Client Registration/Update Request is set to theclientNameproperty. On the other hand, unrecognized client metadata are discarded.By listing up custom client metadata in advance by using the
supportedCustomClientMetadataproperty ofService, Authlete can recognize them and stores their values into the database. The stored custom client metadata values can be referenced by this method.- Returns:
- Custom client metadata in JSON format.
- Since:
- 2.93
- See Also:
Service.getSupportedCustomClientMetadata()
-
setCustomMetadata
public Client setCustomMetadata(String metadata)
Set the custom client metadata in JSON format.Standard specifications define client metadata as necessary. The following are such examples.
- OpenID Connect Dynamic Client Registration 1.0
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol
- RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens
- OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0
- RFC 9101 The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)
- Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)
- RFC 9126 OAuth 2.0 Pushed Authorization Requests
- RFC 9396 OAuth 2.0 Rich Authorization Requests
Standard client metadata included in Client Registration Request and Client Update Request (cf. OIDC DynReg, RFC 7591 and RFC 7592) are, if supported by Authlete, set to corresponding properties of the client application. For example, the value of the
client_nameclient metadata in Client Registration/Update Request is set to theclientNameproperty. On the other hand, unrecognized client metadata are discarded.By listing up custom client metadata in advance by using the
supportedCustomClientMetadataproperty ofService, Authlete can recognize them and stores their values into the database. The stored custom client metadata values can be referenced bygetCustomMetadata().- Parameters:
metadata- Custom client metadata in JSON format.- Returns:
thisobject.- Since:
- 2.93
- See Also:
Service.getSupportedCustomClientMetadata()
-
isFrontChannelRequestObjectEncryptionRequired
public boolean isFrontChannelRequestObjectEncryptionRequired()
Get the flag indicating whether encryption of request object is required when the request object is passed through the front channel.This flag does not affect the processing of request objects at the Pushed Authorization Request Endpoint, which is defined in RFC 9126 OAuth 2.0 Pushed Authorization Requests. Unecrypted request objects are accepted at the endpoint even if this flag is
true.This flag does not indicate whether a request object is always required. There is a different flag,
requestObjectRequired, for the purpose. See the description ofisRequestObjectRequired()for details.Even if this flag is
false, encryption of request object is required if theService.frontChannelRequestObjectEncryptionRequiredflag istrue.- Returns:
trueif encryption of request object is required when the request object is passed through the front channel.- Since:
- 2.96
- See Also:
isRequestObjectRequired(),Service.isFrontChannelRequestObjectEncryptionRequired()
-
setFrontChannelRequestObjectEncryptionRequired
public Client setFrontChannelRequestObjectEncryptionRequired(boolean required)
Set the flag indicating whether encryption of request object is required when the request object is passed through the front channel.This flag does not affect the processing of request objects at the Pushed Authorization Request Endpoint, which is defined in RFC 9126 OAuth 2.0 Pushed Authorization Requests. Unecrypted request objects are accepted at the endpoint even if this flag is
true.This flag does not indicate whether a request object is always required. There is a different flag,
requestObjectRequired, for the purpose. See the description ofisRequestObjectRequired()for details.Even if this flag is
false, encryption of request object is required if theService.frontChannelRequestObjectEncryptionRequiredflag istrue.- Parameters:
required-trueto require that request objects passed through the front channel be encrypted.- Returns:
thisobject.- Since:
- 2.96
- See Also:
isRequestObjectRequired(),Service.isFrontChannelRequestObjectEncryptionRequired()
-
isRequestObjectEncryptionAlgMatchRequired
public boolean isRequestObjectEncryptionAlgMatchRequired()
Get the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.The
request_object_encryption_algclient metadata itself is defined in OpenID Connect Dynamic Client Registration 1.0 as follows.request_object_encryption_alg-
OPTIONAL. JWE [JWE]
algalgorithm [JWA] the RP is declaring that it may use for encrypting Request Objects sent to the OP. This parameter SHOULD be included when symmetric encryption will be used, since this signals to the OP that aclient_secretvalue needs to be returned from which the symmetric key will be derived, that might not otherwise be returned. The RP MAY still use other supported encryption algorithms or send unencrypted Request Objects, even when this parameter is present. If both signing and encryption are requested, the Request Object will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT]. The default, if omitted, is that the RP is not declaring whether it might encrypt any Request Objects.
The point here is "The RP MAY still use other supported encryption algorithms or send unencrypted Request Objects, even when this parameter is present."
The property that represents the client metadata is
requestEncryptionAlg. See the description ofgetRequestEncryptionAlg()for details.Even if this flag is
false, the match is required if theService.requestObjectEncryptionAlgMatchRequiredflag istrue.- Returns:
trueif the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.- Since:
- 2.96
- See Also:
getRequestEncryptionAlg(),Service.isRequestObjectEncryptionAlgMatchRequired()
-
setRequestObjectEncryptionAlgMatchRequired
public Client setRequestObjectEncryptionAlgMatchRequired(boolean required)
Set the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.The
request_object_encryption_algclient metadata itself is defined in OpenID Connect Dynamic Client Registration 1.0 as follows.request_object_encryption_alg-
OPTIONAL. JWE [JWE]
algalgorithm [JWA] the RP is declaring that it may use for encrypting Request Objects sent to the OP. This parameter SHOULD be included when symmetric encryption will be used, since this signals to the OP that aclient_secretvalue needs to be returned from which the symmetric key will be derived, that might not otherwise be returned. The RP MAY still use other supported encryption algorithms or send unencrypted Request Objects, even when this parameter is present. If both signing and encryption are requested, the Request Object will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT]. The default, if omitted, is that the RP is not declaring whether it might encrypt any Request Objects.
The point here is "The RP MAY still use other supported encryption algorithms or send unencrypted Request Objects, even when this parameter is present."
The property that represents the client metadata is
requestEncryptionAlg. See the description ofgetRequestEncryptionAlg()for details.Even if this flag is
false, the match is required if theService.requestObjectEncryptionAlgMatchRequiredflag istrue.- Parameters:
required-trueto require that the JWEalgof encrypted request object match therequest_object_encryption_algclient metadata.- Returns:
thisobject.- Since:
- 2.96
- See Also:
getRequestEncryptionAlg(),Service.isRequestObjectEncryptionAlgMatchRequired()
-
isRequestObjectEncryptionEncMatchRequired
public boolean isRequestObjectEncryptionEncMatchRequired()
Get the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.The
request_object_encryption_encclient metadata itself is defined in OpenID Connect Dynamic Client Registration 1.0 as follows.request_object_encryption_enc-
OPTIONAL. JWE
encalgorithm [JWA] the RP is declaring that it may use for encrypting Request Objects sent to the OP. Ifrequest_object_encryption_algis specified, the default for this value isA128CBC-HS256. Whenrequest_object_encryption_encis included,request_object_encryption_algMUST also be provided.
The property that represents the client metadata is
requestEncryptionEnc. See the description ofgetRequestEncryptionEnc()for details.Even if this flag is
false, the match is required if theService.requestObjectEncryptionEncMatchRequiredflag istrue.- Returns:
trueif the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.- Since:
- 2.96
- See Also:
getRequestEncryptionEnc(),Service.isRequestObjectEncryptionEncMatchRequired()
-
setRequestObjectEncryptionEncMatchRequired
public Client setRequestObjectEncryptionEncMatchRequired(boolean required)
Set the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.The
request_object_encryption_encclient metadata itself is defined in OpenID Connect Dynamic Client Registration 1.0 as follows.request_object_encryption_enc-
OPTIONAL. JWE
encalgorithm [JWA] the RP is declaring that it may use for encrypting Request Objects sent to the OP. Ifrequest_object_encryption_algis specified, the default for this value isA128CBC-HS256. Whenrequest_object_encryption_encis included,request_object_encryption_algMUST also be provided.
The property that represents the client metadata is
requestEncryptionEnc. See the description ofgetRequestEncryptionEnc()for details.Even if this flag is
false, the match is required if theService.requestObjectEncryptionEncMatchRequiredflag istrue.- Parameters:
required-trueto require that the JWEencof encrypted request object match therequest_object_encryption_encclient metadata.- Returns:
thisobject.- Since:
- 2.96
- See Also:
getRequestEncryptionEnc(),Service.isRequestObjectEncryptionEncMatchRequired()
-
getDigestAlgorithm
public String getDigestAlgorithm()
Get the digest algorithm that this client requests the server to use when it computes digest values of external attachments, which may be referenced from within ID tokens or userinfo responses (or any place that can have theverified_claimsclaim).Possible values are listed in the Hash Algorithm Registry of IANA (Internet Assigned Numbers Authority), but the server does not necessarily support all the values there. When this property is omitted,
"sha-256"is used as the default algorithm.This property corresponds to the
digest_algorithmclient metadata which was defined by the third implementer's draft of "OpenID Connect for Identity Assurance 1.0".This property is recognized by Authlete 2.3 and newer versions.
- Returns:
- The digest algorithm that this client requests the server to use when it computes digest values of external attachments.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0, Hash Algorithm Registry
-
setDigestAlgorithm
public Client setDigestAlgorithm(String algorithm)
Set the digest algorithm that this client requests the server to use when it computes digest values of external attachments, which may be referenced from within ID tokens or userinfo responses (or any place that can have theverified_claimsclaim).Possible values are listed in the Hash Algorithm Registry of IANA (Internet Assigned Numbers Authority), but the server does not necessarily support all the values there. When this property is omitted,
"sha-256"is used as the default algorithm.This property corresponds to the
digest_algorithmclient metadata which was defined by the third implementer's draft of "OpenID Connect for Identity Assurance 1.0".This property is recognized by Authlete 2.3 and newer versions.
- Parameters:
algorithm- The digest algorithm that this client requests the server to use when it computes digest values of external attachments.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0, Hash Algorithm Registry
-
isSingleAccessTokenPerSubject
public boolean isSingleAccessTokenPerSubject()
Get the flag which indicates whether the number of access tokens per subject (and per client) is at most one or can be more.If this flag is
true, an attempt to issue a new access token invalidates existing access tokens associated with the same subject and the same client.Even if this flag is
false, invalidation of existing access tokens is executed if thesingleAccessTokenPerSubjectproperty of theServicethis client application belongs to istrue. (cf.Service.isSingleAccessTokenPerSubject())Note that, however, attempts by Client Credentials Flow do not invalidate existing access tokens because access tokens issued by Client Credentials Flow are not associated with any end-user's subject. Also note that an attempt by Refresh Token Flow invalidates the coupled access token only and this invalidation is always performed regardless of whether this flag is
trueorfalse.- Returns:
trueif the number of access tokens per subject (and per client) is at most one.- Since:
- 3.25, Authlete 2.3
- See Also:
Service.isSingleAccessTokenPerSubject()
-
setSingleAccessTokenPerSubject
public Client setSingleAccessTokenPerSubject(boolean single)
Set the flag which indicates whether the number of access tokens per subject (and per client) is at most one or can be more.If
trueis set, an attempt to issue a new access token invalidates existing access tokens associated with the same subject and the same client.Even if this flag is
false, invalidation of existing access tokens is executed if thesingleAccessTokenPerSubjectproperty of theServicethis client application belongs to istrue. (cf.Service.setSingleAccessTokenPerSubject(boolean))Note that, however, attempts by Client Credentials Flow do not invalidate existing access tokens because access tokens issued by Client Credentials Flow are not associated with any end-user's subject. Also note that an attempt by Refresh Token Flow invalidates the coupled access token only and this invalidation is always performed regardless of whether this flag is
trueorfalse.- Parameters:
single-trueto set the maximum number of access tokens per subject (and per client) to 1.- Returns:
thisobject.- Since:
- 3.25, Authlete 2.3
- See Also:
Service.setSingleAccessTokenPerSubject(boolean)
-
isPkceRequired
public boolean isPkceRequired()
Get the flag indicating whether PKCE (RFC 7636) is required whenever this client makes an authorization request by the authorization code flow.Note that even if this flag is
false, PKCE is required ifService.pkceRequiredistrue.- Returns:
trueif PKCE is required whenever this client makes an authorization request by the authorization code flow.- Since:
- 3.29, Authlete 2.3
- See Also:
Service.isPkceRequired(), RFC 7636 Proof Key for Code Exchange by OAuth Public Clients
-
setPkceRequired
public Client setPkceRequired(boolean required)
Set the flag indicating whether PKCE (RFC 7636) is required whenever this client makes an authorization request by the authorization code flow.Note that even if this flag is
false, PKCE is required ifService.pkceRequiredistrue.- Parameters:
required-trueto require PKCE whenever this client makes an authorization request by the authorization code flow.- Returns:
thisobject.- Since:
- 3.29, Authlete 2.3
- See Also:
Service.setPkceRequired(boolean), RFC 7636 Proof Key for Code Exchange by OAuth Public Clients
-
isPkceS256Required
public boolean isPkceS256Required()
Get the flag indicating whetherS256must be used as the code challenge method whenever this client uses PKCE (RFC 7636).Note that even if this flag is
false,S256is required ifService.pkceS256Requiredistrue.- Returns:
trueifS256must be used as the code challenge method whenever this client uses PKCE.- Since:
- 3.29, Authlete 2.3
- See Also:
Service.setPkceS256Required(boolean), RFC 7636 Proof Key for Code Exchange by OAuth Public Clients
-
setPkceS256Required
public Client setPkceS256Required(boolean required)
Set the flag indicating whetherS256must be used as the code challenge method whenever this client uses PKCE (RFC 7636).- Parameters:
required-trueto requireS256as the code challenge method whenever this client uses PKCE.- Returns:
thisobject.- Since:
- 3.29, Authlete 2.3
- See Also:
Service.setPkceS256Required(boolean), RFC 7636 Proof Key for Code Exchange by OAuth Public Clients
-
getEntityId
public URI getEntityId()
Get the entity ID of this client.This property holds a non-null value only when this client has been registered by the mechanism defined in OpenID Federation 1.0.
- Returns:
- The entity ID.
- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setEntityId
public Client setEntityId(URI entityId)
Set the entity ID of this client.This property holds a non-null value only when this client has been registered by the mechanism defined in OpenID Federation 1.0.
- Parameters:
entityId- The entity ID.- Returns:
thisobject.- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getTrustAnchorId
public URI getTrustAnchorId()
Get the entity ID of the trust anchor of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.- Returns:
- The entity ID of the trust anchor.
- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setTrustAnchorId
public Client setTrustAnchorId(URI trustAnchorId)
Set the entity ID of the trust anchor of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.- Parameters:
trustAnchorId- The entity ID of the trust anchor.- Returns:
thisobject.- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getTrustChain
public String[] getTrustChain()
Get the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.The elements in the array are entity statements that are ordered from the entity configuration of this client to the entity statement of the trust anchor. There may be one or more entity statements of intermediate entities in between. The format of the elements is a signed JWT (JWS).
- Returns:
- The trust chain.
- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setTrustChain
public Client setTrustChain(String[] trustChain)
Set the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0.The elements in the array are entity statements that are ordered from the entity configuration of this client to the entity statement of the trust anchor. There may be one or more entity statements of intermediate entities in between. The format of the elements is a signed JWT (JWS).
- Parameters:
trustChain- The trust chain.- Returns:
thisobject.- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getTrustChainExpiresAt
public long getTrustChainExpiresAt()
Get the expiration time of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0. The value is represented as milliseconds elapsed since the Unix epoch (1970-01-01).- Returns:
- The expiration time of the trust chain.
- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setTrustChainExpiresAt
public Client setTrustChainExpiresAt(long expiresAt)
Set the expiration time of the trust chain that was used when this client was registered or updated by the mechanism defined in OpenID Federation 1.0. The value is represented as milliseconds elapsed since the Unix epoch (1970-01-01).- Parameters:
expiresAt- The expiration time of the trust chain.- Returns:
thisobject.- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getTrustChainUpdatedAt
public long getTrustChainUpdatedAt()
Get the time at which the trust chain was updated by the mechanism defined in OpenID Federation 1.0.- Returns:
- The time at which the trust chain was updated.
- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setTrustChainUpdatedAt
public Client setTrustChainUpdatedAt(long updatedAt)
Set the time at which the trust chain was updated by the mechanism defined in OpenID Federation 1.0.- Parameters:
updatedAt- The time at which the trust chain was updated.- Returns:
thisobject.- Since:
- 3.33, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getOrganizationName
public String getOrganizationName()
Get the human-readable name representing the organization that manages this client. This property corresponds to theorganization_nameclient metadata that is defined in OpenID Federation 1.0.- Returns:
- The name of the organization that manages this client.
- Since:
- 3.34, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setOrganizationName
public Client setOrganizationName(String name)
Set the human-readable name representing the organization that manages this client. This property corresponds to theorganization_nameclient metadata that is defined in OpenID Federation 1.0.- Parameters:
name- The name of the organization that manages this client.- Returns:
thisobject.- Since:
- 3.34, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getSignedJwksUri
public URI getSignedJwksUri()
Get the URI of the endpoint that returns this client's JWK Set document in the JWT format. This property corresponds to thesigned_jwks_uriclient metadata defined in OpenID Federation 1.0.- Returns:
- The URI of the endpoint that returns this client's JWK Set document in the JWT format.
- Since:
- 3.34, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setSignedJwksUri
public Client setSignedJwksUri(URI uri)
Set the URI of the endpoint that returns this client's JWK Set document in the JWT format. This property corresponds to thesigned_jwks_uriclient metadata defined in OpenID Federation 1.0.- Parameters:
uri- The URI of the endpoint that returns this client's JWK Set document in the JWT format.- Returns:
thisobject.- Since:
- 3.34, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getClientRegistrationTypes
public ClientRegistrationType[] getClientRegistrationTypes()
Get the client registration types that the client has declared it may use.This property corresponds to the
client_registration_typesclient metadata defined in OpenID Federation 1.0.- Returns:
- Client registration types.
- Since:
- 3.36, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setClientRegistrationTypes
public Client setClientRegistrationTypes(ClientRegistrationType[] types)
Set the client registration types that the client has declared it may use.This property corresponds to the
client_registration_typesclient metadata defined in OpenID Federation 1.0.- Parameters:
types- Client registration types.- Returns:
thisobject.- See Also:
- OpenID Federation 1.0
-
getRsSignedRequestKeyId
public String getRsSignedRequestKeyId()
Get the key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.When an HTTP message signature signed by this client includes the
keyidparameter (RFC 9421 HTTP Message Signatures, Section 2.3. Signature Parameters), the specified key ID is used to identify the public key. If the parameter is missing, the value of thisrsSignedRequestKeyIdproperty is referenced as a fallback. If both are missing, HTTP message signature verification fails.The JWK identified by the key ID must include the
algproperty (RFC 7518 JSON Web Algorithms (JWA), Section 3.1. "alg" (Algorithm) Header Parameter Values for JWS).- Returns:
- The key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.
- Since:
- 3.39, Authlete 2.3
-
setRsSignedRequestKeyId
public Client setRsSignedRequestKeyId(String keyId)
Set the key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.When an HTTP message signature signed by this client includes the
keyidparameter (RFC 9421 HTTP Message Signatures, Section 2.3. Signature Parameters), the specified key ID is used to identify the public key. If the parameter is missing, the value of thisrsSignedRequestKeyIdproperty is referenced as a fallback. If both are missing, HTTP message signature verification fails.The JWK identified by the key ID must include the
algproperty (RFC 7518 JSON Web Algorithms (JWA), Section 3.1. "alg" (Algorithm) Header Parameter Values for JWS).- Parameters:
keyId- The key ID of the JWK containing the public key used to verify HTTP message signatures signed by this client.- Returns:
thisobject.- Since:
- 3.39, Authlete 2.3
-
isRsRequestSigned
@Deprecated public boolean isRsRequestSigned()
Deprecated.Get whether the client is expected to sign requests to the resource server. Iftrue, introspection requests and userinfo requests will be checked for a signature and the signature will be validated against the key identified bygetRsSignedRequestKeyId().- Returns:
trueif the client signs requests to the resource server,falseotherwise.- Since:
- 3.39, Authlete 2.3
-
setRsRequestSigned
@Deprecated public Client setRsRequestSigned(boolean signed)
Deprecated.Set whether the client is expected to sign requests to the resource server. Iftrue, introspection requests and userinfo requests will be checked for a signature and the will be signature validated against the key identified bygetRsSignedRequestKeyId().- Parameters:
signed-trueif the client signs requests to the resource server,falseotherwise.- Returns:
thisobject.- Since:
- 3.39, Authlete 2.3
-
isAutomaticallyRegistered
public boolean isAutomaticallyRegistered()
Get the flag indicating whether this client was registered by the "automatic" client registration of OpenID Federation.- Returns:
trueif this client was registered by the automatic client registration.- Since:
- 3.46, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setAutomaticallyRegistered
public Client setAutomaticallyRegistered(boolean auto)
Set the flag indicating whether this client was registered by the "automatic" client registration of OpenID Federation.- Parameters:
auto-trueto indicate that this client was registered by the automatic client registration.- Returns:
thisobject.- Since:
- 3.46, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
isExplicitlyRegistered
public boolean isExplicitlyRegistered()
Get the flag indicating whether this client was registered by the "explicit" client registration of OpenID Federation.- Returns:
trueif this client was registered by the explicit client registration.- Since:
- 3.46, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setExplicitlyRegistered
public Client setExplicitlyRegistered(boolean explicit)
Set the flag indicating whether this client was registered by the "explicit" client registration of OpenID Federation.- Parameters:
explicit-trueto indicate that this client was registered by the explicit client registration.- Returns:
thisobject.- Since:
- 3.46, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
isDpopRequired
public boolean isDpopRequired()
Set the flag indicating whether this client requires DPoP access tokens.- Returns:
trueto indicate that this client requires DPoP access tokens.- Since:
- 3.49, Authlete 2.3
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
setDpopRequired
public Client setDpopRequired(boolean dpopRequired)
Get the flag indicating whether this client requires DPoP access tokens.- Parameters:
required-trueto indicate that this client requires DPoP access tokens.- Returns:
thisobject.- Since:
- 3.49, Authlete 2.3
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
getCredentialOfferEndpoint
public URI getCredentialOfferEndpoint()
Get the URL of the credential offer endpoint at which this client (wallet) receives a credential offer from the credential issuer.This property corresponds to the
credential_offer_endpointclient metadata that is defined in OpenID for Verifiable Credential Issuance.- Returns:
- The URL of the credential offer endpoint.
- Since:
- 3.59, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
setCredentialOfferEndpoint
public Client setCredentialOfferEndpoint(URI endpoint)
Set the URL of the credential offer endpoint at which this client (wallet) receives a credential offer from the credential issuer.This property corresponds to the
credential_offer_endpointclient metadata that is defined in OpenID for Verifiable Credential Issuance.- Parameters:
endpoint- The URL of the credential offer endpoint.- Returns:
thisobject.- Since:
- 3.59, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
isLocked
public boolean isLocked()
Get the flag which indicates whether this client is locked.- Returns:
trueif this client is locked.- Since:
- 3.75
-
setLocked
public Client setLocked(boolean locked)
Set the flag which indicates whether this client is locked.- Parameters:
locked-trueto indicate that this client is locked.- Returns:
thisobject.- Since:
- 3.75
-
getFapiModes
public FapiMode[] getFapiModes()
Get the FAPI modes for this client.When the value of this property is not
null, Authlete always processes requests from this client based on the specified FAPI modes if the FAPI feature is enabled in Authlete, theFAPIprofile is supported by the service, and the FAPI modes for the service are set tonull.For instance, when this property is set to an array containing
FAPI1_ADVANCEDonly, Authlete always processes requests from this client based on " Financial-grade API Security Profile 1.0 - Part 2: Advanced" if the FAPI feature is enabled in Authlete, theFAPIprofile is supported by the service, and the FAPI modes for the service are set tonull.- Returns:
- The FAPI modes for this client.
- Since:
- 3.80, Authlete 3.0
- See Also:
- Financial-grade API Security Profile 1.0 - Part 2: Advanced
-
setFapiModes
public Client setFapiModes(FapiMode[] modes)
Set the FAPI modes for this client.When the value of this property is not
null, Authlete always processes requests from this client based on the specified FAPI modes if the FAPI feature is enabled in Authlete, theFAPIprofile is supported by the service, and the FAPI modes for the service are set tonull.For instance, when this property is set to an array containing
FAPI1_ADVANCEDonly, Authlete always processes requests from this client based on " Financial-grade API Security Profile 1.0 - Part 2: Advanced" if the FAPI feature is enabled in Authlete, theFAPIprofile is supported by the service, and the FAPI modes for the service are set tonull.- Parameters:
modes- The FAPI modes for this client.- Returns:
thisobject.- Since:
- 3.80, Authlete 3.0
- See Also:
- Financial-grade API Security Profile 1.0 - Part 2: Advanced
-
isCredentialResponseEncryptionRequired
public boolean isCredentialResponseEncryptionRequired()
Get the flag indicating whether credential responses to this client must be always encrypted or not.When this flag is
true, credential requests from this client must always include encryption-related parameters such ascredential_response_encryption_alg.Even if this flag is
false, encryption-related parameters are always required when the service'scredentialIssuerMetadata.requireCredentialResponseEncryptionproperty istrue.- Returns:
trueif credential responses to this client must be always encrypted.- Since:
- 3.86, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
setCredentialResponseEncryptionRequired
public Client setCredentialResponseEncryptionRequired(boolean required)
Set the flag indicating whether credential responses to this client must be always encrypted or not.When this flag is
true, credential requests from this client must always include encryption-related parameters such ascredential_response_encryption_alg.Even if this flag is
false, encryption-related parameters are always required when the service'scredentialIssuerMetadata.requireCredentialResponseEncryptionproperty istrue.- Parameters:
required-trueto require credential requests from this client to always include encryption-related parameters such ascredential_response_encryption_alg.- Returns:
thisobject.- Since:
- 3.86, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
toStandardMetadata
public Map<String,Object> toStandardMetadata()
Get aMapinstance that represents a set of standard client metadata.This method is an alias of
toStandardMetadata(null).- Returns:
- A
Mapinstance that represents a set of standard client metadata.
-
getResponseModes
public ResponseMode[] getResponseModes()
Get the response modes that this client may use.This property corresponds to the
response_modesclient metadata that is defined in FAPI 2.0 Message Signing, 5.3.3. Client Metadata.- Returns:
- The response modes that this client may use.
- Since:
- 3.92, Authlete 3.0
- See Also:
- FAPI 2.0 Message Signing, 5.3.3. Client Metadata
-
setResponseModes
public Client setResponseModes(ResponseMode[] modes)
Set the response modes that this client may use.This property corresponds to the
response_modesclient metadata that is defined in FAPI 2.0 Message Signing, 5.3.3. Client Metadata.- Parameters:
modes- The response modes that this client may use.- Returns:
thisobject.- Since:
- 3.92, Authlete 3.0
- See Also:
- FAPI 2.0 Message Signing, 5.3.3. Client Metadata
-
isMtlsEndpointAliasesUsed
public boolean isMtlsEndpointAliasesUsed()
Get the flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.This property corresponds to the
use_mtls_endpoint_aliasesclient metadata that is defined in FAPI 2.0 Security Profile, 8.1.1. use_mtls_endpoint_aliases.- Returns:
- The flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.
- Since:
- 4.10, Authlete 3.0
- See Also:
- FAPI 2.0 Security Profile, 8.1.1. use_mtls_endpoint_aliases
-
setMtlsEndpointAliasesUsed
public Client setMtlsEndpointAliasesUsed(boolean mtlsEndpointAliasesUsed)
Set the flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.This property corresponds to the
use_mtls_endpoint_aliasesclient metadata that is defined in FAPI 2.0 Security Profile, 8.1.1. use_mtls_endpoint_aliases.- Returns:
- The flag indicating whether the client intends to prefer mutual TLS endpoints over non-MTLS endpoints.
- Since:
- 4.10, Authlete 3.0
- See Also:
- FAPI 2.0 Security Profile, 8.1.1. use_mtls_endpoint_aliases
-
isInScopeForTokenMigration
public boolean isInScopeForTokenMigration()
Get the value that indicates whether this Client is in scope for token migration.- Returns:
- The value that indicates whether this Client is in scope for token migration.
- Since:
- Authlete 4.23
-
setInScopeForTokenMigration
public Client setInScopeForTokenMigration(boolean inScopeForTokenMigration)
Sets the flag that indicates that this Client is in scope for token migration.- Parameters:
inScopeForTokenMigration- The new value for the flag to indicates whether this Client is in scope for token migration.- Returns:
- The
Clientafter setting the provided property. - Since:
- Authlete 4.23
-
toStandardMetadata
public Map<String,Object> toStandardMetadata(ClientMetadataControl control)
Get aMapinstance that represents a set of standard client metadata.This method creates a new
Mapinstance per call. Modifying the Map instance does not affect thisClientinstance.- Parameters:
control- Flags to control output of this method. Ifnullis given, a newClientMetadataControlinstance is created and used.- Returns:
- A
Mapinstance that represents a set of standard client metadata. - Since:
- 3.45
- See Also:
- OpenID Connect Dynamic Client Registration 1.0, RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol, RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens, JWT Secured Authorization Response Mode for OAuth 2.0 (JARM), OpenID Connect Client-Initiated Backchannel Authentication Flow - Core 1.0, RFC 9396 OAuth 2.0 Rich Authorization Requests, OpenID Connect for Identity Assurance 1.0, OpenID Federation 1.0, IANA OAuth Parameters / OAuth Dynamic Client Registration Metadata, OpenID for Verifiable Credential Issuance
-
-