Package com.nimbusds.oauth2.sdk.client
Class ClientMetadata
java.lang.Object
com.nimbusds.oauth2.sdk.client.ClientMetadata
- Direct Known Subclasses:
OIDCClientMetadata
Client metadata.
Example client metadata, serialised to a JSON object:
{
"redirect_uris" : ["https://client.example.org/callback",
"https://client.example.org/callback2"],
"client_name" : "My Example Client",
"client_name#ja-Jpan-JP" : "クライアント名",
"token_endpoint_auth_method" : "client_secret_basic",
"scope" : "read write dolphin",
"logo_uri" : "https://client.example.org/logo.png",
"jwks_uri" : "https://client.example.org/my_public_keys.jwks"
}
Related specifications:
- OAuth 2.0 Dynamic Client Registration Protocol (RFC 7591)
- OAuth 2.0 Mutual TLS Client Authentication and Certificate Bound Access Tokens (RFC 8705)
- OAuth 2.0 Demonstrating Proof of Possession (DPoP) (RFC 9449)
- Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM)
- OAuth 2.0 Pushed Authorization Requests (RFC 9126)
- OAuth 2.0 Rich Authorization Requests (RFC 9396)
- OpenID Connect Client Initiated Backchannel Authentication Flow - Core 1.0
- OpenID Connect Federation 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionDeprecated. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new OAuth 2.0 client metadata instance.ClientMetadata(ClientMetadata metadata) Creates a shallow copy of the specified OAuth 2.0 client metadata instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidApplies the client metadata defaults where no values have been specified.Gets the authorisation details types for Rich Authorisation Requests (RAR).com.nimbusds.jose.JWEAlgorithmGets the JWE algorithm for JWT-encoded authorisation responses.com.nimbusds.jose.EncryptionMethodSets the encryption method for JWT-encoded authorisation responses.com.nimbusds.jose.JWSAlgorithmGets the JWS algorithm for JWT-encoded authorisation responses.com.nimbusds.jose.JWSAlgorithmGets the JWS algorithm for CIBA requests.Gets the CIBA client notification endpoint URI for the ping or push delivery modes.Gets the CIBA token delivery mode.Gets the supported OpenID Connect Federation 1.0 client registration types.getCustomField(String name) Gets the specified custom metadata field.net.minidev.json.JSONObjectGets the custom metadata fields.booleanGets the preference for DPoP bound access tokens.Gets the administrator email contacts for the client.Gets the expected OAuth 2.0 grant types.com.nimbusds.jose.jwk.JWKSetGets this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.Gets the URI for this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.Gets the client application logo.getLogoURI(com.nimbusds.langtag.LangTag langTag) Gets the client application logo.Gets the client application logo entries.booleanDeprecated.getName()Gets the client name.getName(com.nimbusds.langtag.LangTag langTag) Gets the client name.Gets the client name entries.Gets the organisation name in OpenID Connect Federation 1.0.Gets the client policy for use of end-user data.getPolicyURI(com.nimbusds.langtag.LangTag langTag) Gets the client policy for use of end-user data.Gets the client policy entries for use of end-user data.Gets one of the redirection URIs for this client.Gets the redirection URIs for this client.Gets the redirection URIs for this client as strings.Gets the registered (standard) OAuth 2.0 client metadata parameter names.com.nimbusds.jose.JWEAlgorithmGets the JSON Web Encryption (JWE) algorithm required for request objects sent by this client.com.nimbusds.jose.EncryptionMethodGets the JSON Web Encryption (JWE) method required for request objects sent by this client.com.nimbusds.jose.JWSAlgorithmGets the JSON Web Signature (JWS) algorithm required for request objects sent by this client.Gets the pre-registered request object URIs.Gets the expected OAuth 2.0 response types.getScope()Gets the scope values that the client can use when requesting access tokens.Gets the URI for this client's signed JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.Gets the identifier for the OAuth 2.0 client software.com.nimbusds.jwt.SignedJWTGets the software statement.Gets the version identifier for the OAuth 2.0 client software.Gets the client's terms of service.getTermsOfServiceURI(com.nimbusds.langtag.LangTag langTag) Gets the client's terms of service.Gets the client's terms of service entries.Gets the expected dNSName SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.Gets the expected rfc822Name SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.Gets the expected iPAddress SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.Gets the expected uniformResourceIdentifier SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.Gets the expected subject distinguished name (DN) of the client X.509 certificate in mutual TLS authentication.booleanGets the preference for TLS client certificate bound access tokens.com.nimbusds.jose.JWSAlgorithmGets the JSON Web Signature (JWS) algorithm required forprivate_key_jwtandclient_secret_jwtauthentication at the Token endpoint.Gets the Token endpoint authentication method.getURI()Gets the client home page.getURI(com.nimbusds.langtag.LangTag langTag) Gets the client home page.Gets the client home page entries.booleanhasScopeValue(Scope.Value scopeValue) Checks if the scope matadata field is set and contains the specified scope value.static ClientMetadataparse(net.minidev.json.JSONObject jsonObject) Parses a client metadata instance from the specified JSON object.booleanGets the requirement for pushed authorisation requests (PAR).voidrequiresPushedAuthorizationRequests(boolean requirePAR) Sets the requirement for pushed authorisation requests (PAR).voidsetAuthorizationDetailsTypes(List<AuthorizationType> authzTypes) Sets the authorisation details types for Rich Authorisation Requests (RAR).voidsetAuthorizationJWEAlg(com.nimbusds.jose.JWEAlgorithm authzJWEAlg) Sets the JWE algorithm for JWT-encoded authorisation responses.voidsetAuthorizationJWEEnc(com.nimbusds.jose.EncryptionMethod authzJWEEnc) Sets the encryption method for JWT-encoded authorisation responses.voidsetAuthorizationJWSAlg(com.nimbusds.jose.JWSAlgorithm authzJWSAlg) Sets the JWS algorithm for JWT-encoded authorisation responses.voidsetBackChannelAuthRequestJWSAlg(com.nimbusds.jose.JWSAlgorithm backChannelAuthRequestJWSAlg) Sets the JWS algorithm for CIBA requests.voidsetBackChannelClientNotificationEndpoint(URI backChannelClientNotificationEndpoint) Sets the CIBA client notification endpoint URI for the ping or push delivery modes.voidsetBackChannelTokenDeliveryMode(BackChannelTokenDeliveryMode backChannelTokenDeliveryMode) Sets the CIBA token delivery mode.voidsetClientRegistrationTypes(List<ClientRegistrationType> regTypes) Sets the supported OpenID Connect Federation 1.0 client registration types.voidsetCustomField(String name, Object value) Sets the specified custom metadata field.voidsetCustomFields(net.minidev.json.JSONObject customFields) Sets the custom metadata fields.voidsetDPoPBoundAccessTokens(boolean dPoPBoundAccessTokens) Sets the preference for DPoP bound access tokens.voidsetEmailContacts(List<String> contacts) Sets the administrator email contacts for the client.voidsetGrantTypes(Set<GrantType> grantTypes) Sets the expected OAuth 2.0 grant types.voidsetJWKSet(com.nimbusds.jose.jwk.JWKSet jwkSet) Sets this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.voidsetJWKSetURI(URI jwkSetURI) Sets the URI for this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.voidsetLogoURI(URI logoURI) Sets the client application logo.voidsetLogoURI(URI logoURI, com.nimbusds.langtag.LangTag langTag) Sets the client application logo.voidsetMutualTLSSenderConstrainedAccessTokens(boolean tlsSenderAccessTokens) Deprecated.voidSets the client name.voidSets the client name.voidsetOrganizationName(String organizationName) Sets the organisation name in OpenID Connect Federation 1.0.voidsetPolicyURI(URI policyURI) Sets the client policy for use of end-user data.voidsetPolicyURI(URI policyURI, com.nimbusds.langtag.LangTag langTag) Sets the client policy for use of end-user data.voidsetRedirectionURI(URI redirectURI) Sets a single redirection URI for this client.voidsetRedirectionURIs(Set<URI> redirectURIs) Sets the redirection URIs for this client.voidsetRequestObjectJWEAlg(com.nimbusds.jose.JWEAlgorithm requestObjectJWEAlg) Sets the JSON Web Encryption (JWE) algorithm required for request objects sent by this client.voidsetRequestObjectJWEEnc(com.nimbusds.jose.EncryptionMethod requestObjectJWEEnc) Sets the JSON Web Encryption (JWE) method required for request objects sent by this client.voidsetRequestObjectJWSAlg(com.nimbusds.jose.JWSAlgorithm requestObjectJWSAlg) Sets the JSON Web Signature (JWS) algorithm required for request objects sent by this client.voidsetRequestObjectURIs(Set<URI> requestObjectURIs) Sets the pre-registered request object URIs.voidsetResponseTypes(Set<ResponseType> responseTypes) Sets the expected OAuth 2.0 response types.voidSets the scope values that the client can use when requesting access tokens.voidsetSignedJWKSetURI(URI signedJWKSetURI) Sets the URI for this client's signed JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses.voidsetSoftwareID(SoftwareID softwareID) Sets the identifier for the OAuth 2.0 client software.voidsetSoftwareStatement(com.nimbusds.jwt.SignedJWT softwareStatement) Sets the software statement.voidsetSoftwareVersion(SoftwareVersion softwareVersion) Sets the version identifier for the OAuth 2.0 client software.voidsetSupportsBackChannelUserCodeParam(boolean backChannelUserCodeParam) Sets the support for theuser_codeCIBA request parameter.voidsetTermsOfServiceURI(URI tosURI) Sets the client's terms of service.voidsetTermsOfServiceURI(URI tosURI, com.nimbusds.langtag.LangTag langTag) Sets the client's terms of service.voidSets the expected dNSName SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.voidsetTLSClientAuthSanEmail(String email) Sets the expected rfc822Name SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.voidSets the expected iPAddress SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.voidSets the expected uniformResourceIdentifier SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication.voidsetTLSClientAuthSubjectDN(String subjectDN) Sets the expected subject distinguished name (DN) of the client X.509 certificate in mutual TLS authentication.voidsetTLSClientCertificateBoundAccessTokens(boolean tlsClientCertBoundTokens) Sets the preference for TLS client certificate bound access tokens.voidsetTokenEndpointAuthJWSAlg(com.nimbusds.jose.JWSAlgorithm authJWSAlg) Sets the JSON Web Signature (JWS) algorithm required forprivate_key_jwtandclient_secret_jwtauthentication at the Token endpoint.voidsetTokenEndpointAuthMethod(ClientAuthenticationMethod authMethod) Sets the Token endpoint authentication method.voidSets the client home page.voidSets the client home page.booleanGets the support for theuser_codeCIBA request parameter.net.minidev.json.JSONObjectReturns the JSON object representation of this client metadata, including any custom fields.net.minidev.json.JSONObjecttoJSONObject(boolean includeCustomFields) Returns the JSON object representation of this client metadata.toString()
-
Field Details
-
PROHIBITED_REDIRECT_URI_SCHEMES
Deprecated.
-
-
Constructor Details
-
ClientMetadata
public ClientMetadata()Creates a new OAuth 2.0 client metadata instance. -
ClientMetadata
Creates a shallow copy of the specified OAuth 2.0 client metadata instance.- Parameters:
metadata- The client metadata to copy. Must not benull.
-
-
Method Details
-
getRegisteredParameterNames
Gets the registered (standard) OAuth 2.0 client metadata parameter names.- Returns:
- The registered parameter names, as an unmodifiable set.
-
getRedirectionURIs
Gets the redirection URIs for this client. Corresponds to theredirect_urisclient metadata field.- Returns:
- The redirection URIs,
nullif not specified.
-
getRedirectionURI
Gets one of the redirection URIs for this client. Corresponds to theredirect_urisclient metadata field.- Returns:
- The redirection URI,
nullif not specified.
-
getRedirectionURIStrings
Gets the redirection URIs for this client as strings. Corresponds to theredirect_urisclient metadata field.This shorthand method is intended to enable string-based URI comparison.
- Returns:
- The redirection URIs as strings,
nullif not specified.
-
setRedirectionURIs
Sets the redirection URIs for this client. Corresponds to theredirect_urisclient metadata field.- Parameters:
redirectURIs- The redirection URIs,nullif not specified. Valid redirection URIs must not contain a fragment.
-
setRedirectionURI
Sets a single redirection URI for this client. Corresponds to theredirect_urisclient metadata field.- Parameters:
redirectURI- The redirection URIs,nullif not specified. A valid redirection URI must not contain a fragment.
-
getScope
Gets the scope values that the client can use when requesting access tokens. Corresponds to thescopeclient metadata field.- Returns:
- The scope,
nullif not specified.
-
hasScopeValue
Checks if the scope matadata field is set and contains the specified scope value.- Parameters:
scopeValue- The scope value. Must not benull.- Returns:
trueif the scope value is contained, elsefalse.
-
setScope
Sets the scope values that the client can use when requesting access tokens. Corresponds to thescopeclient metadata field.- Parameters:
scope- The scope,nullif not specified.
-
getResponseTypes
Gets the expected OAuth 2.0 response types. Corresponds to theresponse_typesclient metadata field.- Returns:
- The response types,
nullif not specified.
-
setResponseTypes
Sets the expected OAuth 2.0 response types. Corresponds to theresponse_typesclient metadata field.- Parameters:
responseTypes- The response types,nullif not specified.
-
getGrantTypes
Gets the expected OAuth 2.0 grant types. Corresponds to thegrant_typesclient metadata field.- Returns:
- The grant types,
nullif not specified.
-
setGrantTypes
Sets the expected OAuth 2.0 grant types. Corresponds to thegrant_typesclient metadata field.- Parameters:
grantTypes- The grant types,nullif not specified.
-
getEmailContacts
Gets the administrator email contacts for the client. Corresponds to thecontactsclient metadata field.- Returns:
- The administrator email contacts,
nullif not specified.
-
setEmailContacts
Sets the administrator email contacts for the client. Corresponds to thecontactsclient metadata field.- Parameters:
contacts- The administrator email contacts,nullif not specified.
-
getName
Gets the client name. Corresponds to theclient_nameclient metadata field, with no language tag.- Returns:
- The client name,
nullif not specified.
-
getName
Gets the client name. Corresponds to theclient_nameclient metadata field, with an optional language tag.- Parameters:
langTag- The language tag of the entry,nullto get the non-tagged entry.- Returns:
- The client name,
nullif not specified.
-
getNameEntries
Gets the client name entries. Corresponds to theclient_nameclient metadata field.- Returns:
- The client name entries, empty map if none.
-
setName
Sets the client name. Corresponds to theclient_nameclient metadata field, with no language tag.- Parameters:
name- The client name,nullif not specified.
-
setName
Sets the client name. Corresponds to theclient_nameclient metadata field, with an optional language tag.- Parameters:
name- The client name. Must not benull.langTag- The language tag,nullif not specified.
-
getLogoURI
Gets the client application logo. Corresponds to thelogo_uriclient metadata field, with no language tag.- Returns:
- The logo URI,
nullif not specified.
-
getLogoURI
Gets the client application logo. Corresponds to thelogo_uriclient metadata field, with an optional language tag.- Parameters:
langTag- The language tag,nullif not specified.- Returns:
- The logo URI,
nullif not specified.
-
getLogoURIEntries
Gets the client application logo entries. Corresponds to thelogo_uriclient metadata field.- Returns:
- The logo URI entries, empty map if none.
-
setLogoURI
Sets the client application logo. Corresponds to thelogo_uriclient metadata field, with no language tag.- Parameters:
logoURI- The logo URI,nullif not specified.
-
setLogoURI
Sets the client application logo. Corresponds to thelogo_uriclient metadata field, with an optional language tag.- Parameters:
logoURI- The logo URI. Must not benull.langTag- The language tag,nullif not specified.
-
getURI
Gets the client home page. Corresponds to theclient_uriclient metadata field, with no language tag.- Returns:
- The client URI,
nullif not specified.
-
getURI
Gets the client home page. Corresponds to theclient_uriclient metadata field, with an optional language tag.- Parameters:
langTag- The language tag,nullif not specified.- Returns:
- The client URI,
nullif not specified.
-
getURIEntries
Gets the client home page entries. Corresponds to theclient_uriclient metadata field.- Returns:
- The client URI entries, empty map if none.
-
setURI
Sets the client home page. Corresponds to theclient_uriclient metadata field, with no language tag.- Parameters:
uri- The client URI,nullif not specified. The URI scheme must be https or http.
-
setURI
Sets the client home page. Corresponds to theclient_uriclient metadata field, with an optional language tag.- Parameters:
uri- The URI. The URI scheme must be https or http. Must not benull.langTag- The language tag,nullif not specified.
-
getPolicyURI
Gets the client policy for use of end-user data. Corresponds to thepolicy_uriclient metadata field, with no language tag.- Returns:
- The policy URI,
nullif not specified.
-
getPolicyURI
Gets the client policy for use of end-user data. Corresponds to thepolicy_uriclient metadata field, with an optional language tag.- Parameters:
langTag- The language tag,nullif not specified.- Returns:
- The policy URI,
nullif not specified.
-
getPolicyURIEntries
Gets the client policy entries for use of end-user data. Corresponds to thepolicy_uriclient metadata field.- Returns:
- The policy URI entries, empty map if none.
-
setPolicyURI
Sets the client policy for use of end-user data. Corresponds to thepolicy_uriclient metadata field, with no language tag.- Parameters:
policyURI- The policy URI,nullif not specified. The URI scheme must be https or http.
-
setPolicyURI
Sets the client policy for use of end-user data. Corresponds to thepolicy_uriclient metadata field, with an optional language tag.- Parameters:
policyURI- The policy URI. The URI scheme must be https or http. Must not benull.langTag- The language tag,nullif not specified.
-
getTermsOfServiceURI
Gets the client's terms of service. Corresponds to thetos_uriclient metadata field, with no language tag.- Returns:
- The terms of service URI,
nullif not specified.
-
getTermsOfServiceURI
Gets the client's terms of service. Corresponds to thetos_uriclient metadata field, with an optional language tag.- Parameters:
langTag- The language tag,nullif not specified.- Returns:
- The terms of service URI,
nullif not specified.
-
getTermsOfServiceURIEntries
Gets the client's terms of service entries. Corresponds to thetos_uriclient metadata field.- Returns:
- The terms of service URI entries, empty map if none.
-
setTermsOfServiceURI
Sets the client's terms of service. Corresponds to thetos_uriclient metadata field, with no language tag.- Parameters:
tosURI- The terms of service URI,nullif not specified. The URI scheme must be https or http.
-
setTermsOfServiceURI
Sets the client's terms of service. Corresponds to thetos_uriclient metadata field, with an optional language tag.- Parameters:
tosURI- The terms of service URI. The URI scheme must not be https or http. Must not benull.langTag- The language tag,nullif not specified.
-
getTokenEndpointAuthMethod
Gets the Token endpoint authentication method. Corresponds to thetoken_endpoint_auth_methodclient metadata field.- Returns:
- The Token endpoint authentication method,
nullif not specified.
-
setTokenEndpointAuthMethod
Sets the Token endpoint authentication method. Corresponds to thetoken_endpoint_auth_methodclient metadata field.- Parameters:
authMethod- The Token endpoint authentication method,nullif not specified.
-
getTokenEndpointAuthJWSAlg
Gets the JSON Web Signature (JWS) algorithm required forprivate_key_jwtandclient_secret_jwtauthentication at the Token endpoint. Corresponds to thetoken_endpoint_auth_signing_algclient metadata field.- Returns:
- The JWS algorithm,
nullif not specified.
-
setTokenEndpointAuthJWSAlg
Sets the JSON Web Signature (JWS) algorithm required forprivate_key_jwtandclient_secret_jwtauthentication at the Token endpoint. Corresponds to thetoken_endpoint_auth_signing_algclient metadata field.- Parameters:
authJWSAlg- The JWS algorithm,nullif not specified.
-
getJWKSetURI
Gets the URI for this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Corresponds to thejwks_uriclient metadata field.- Returns:
- The JWK set URI,
nullif not specified.
-
setJWKSetURI
Sets the URI for this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Corresponds to thejwks_uriclient metadata field.- Parameters:
jwkSetURI- The JWK set URI,nullif not specified.
-
getSignedJWKSetURI
Gets the URI for this client's signed JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Corresponds to thesigned_jwks_uriclient metadata field. Intended for use in OpenID Connect Federation 1.0.- Returns:
- The signed JWK set URI,
nullif not specified.
-
setSignedJWKSetURI
Sets the URI for this client's signed JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Corresponds to thesigned_jwks_uriclient metadata field. Intended for use in OpenID Connect Federation 1.0.- Parameters:
signedJWKSetURI- The signed JWK set URI,nullif not specified.
-
getJWKSet
Gets this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Intended as an alternative togetJWKSetURI()for native clients. Corresponds to thejwksclient metadata field.- Returns:
- The JWK set,
nullif not specified.
-
setJWKSet
Sets this client's JSON Web Key (JWK) set containing key(s) that are used in signing requests to the server and key(s) for encrypting responses. Intended as an alternative togetJWKSetURI()for native clients. Corresponds to thejwksclient metadata field.- Parameters:
jwkSet- The JWK set,nullif not specified.
-
getRequestObjectURIs
Gets the pre-registered request object URIs. Corresponds to therequest_urisclient metadata field.- Returns:
- The request object URIs,
nullif not specified.
-
setRequestObjectURIs
Sets the pre-registered request object URIs. Corresponds to therequest_urisclient metadata field.- Parameters:
requestObjectURIs- The request object URIs,nullif not specified.
-
getRequestObjectJWSAlg
Gets the JSON Web Signature (JWS) algorithm required for request objects sent by this client. Corresponds to therequest_object_signing_algclient metadata field.- Returns:
- The JWS algorithm,
nullif not specified.
-
setRequestObjectJWSAlg
Sets the JSON Web Signature (JWS) algorithm required for request objects sent by this client. Corresponds to therequest_object_signing_algclient metadata field.- Parameters:
requestObjectJWSAlg- The JWS algorithm,nullif not specified.
-
getRequestObjectJWEAlg
Gets the JSON Web Encryption (JWE) algorithm required for request objects sent by this client. Corresponds to therequest_object_encryption_algclient metadata field.- Returns:
- The JWE algorithm,
nullif not specified.
-
setRequestObjectJWEAlg
Sets the JSON Web Encryption (JWE) algorithm required for request objects sent by this client. Corresponds to therequest_object_encryption_algclient metadata field.- Parameters:
requestObjectJWEAlg- The JWE algorithm,nullif not specified.
-
getRequestObjectJWEEnc
Gets the JSON Web Encryption (JWE) method required for request objects sent by this client. Corresponds to therequest_object_encryption_encclient metadata field.- Returns:
- The JWE method,
nullif not specified.
-
setRequestObjectJWEEnc
Sets the JSON Web Encryption (JWE) method required for request objects sent by this client. Corresponds to therequest_object_encryption_encclient metadata field.- Parameters:
requestObjectJWEEnc- The JWE method,nullif not specified.
-
getSoftwareID
Gets the identifier for the OAuth 2.0 client software. Corresponds to thesoftware_idclient metadata field.- Returns:
- The software identifier,
nullif not specified.
-
setSoftwareID
Sets the identifier for the OAuth 2.0 client software. Corresponds to thesoftware_idclient metadata field.- Parameters:
softwareID- The software identifier,nullif not specified.
-
getSoftwareVersion
Gets the version identifier for the OAuth 2.0 client software. Corresponds to thesoftware_versionclient metadata field.- Returns:
- The version identifier,
nullif not specified.
-
setSoftwareVersion
Sets the version identifier for the OAuth 2.0 client software. Corresponds to thesoftware_versionclient metadata field.- Parameters:
softwareVersion- The version identifier,nullif not specified.
-
getSoftwareStatement
Gets the software statement. Corresponds to thesoftware_statementclient metadata field.- Returns:
- The signed software statement,
nullif not specified.
-
setSoftwareStatement
Sets the software statement. Corresponds to thesoftware_statementclient metadata field.- Parameters:
softwareStatement- The signed software statement,nullif not specified.
-
getTLSClientCertificateBoundAccessTokens
Gets the preference for TLS client certificate bound access tokens. Corresponds to thetls_client_certificate_bound_access_tokensclient metadata field.- Returns:
trueindicates a preference for TLS client certificate bound access tokens,falseif none.
-
setTLSClientCertificateBoundAccessTokens
Sets the preference for TLS client certificate bound access tokens. Corresponds to thetls_client_certificate_bound_access_tokensclient metadata field.- Parameters:
tlsClientCertBoundTokens-trueindicates a preference for TLS client certificate bound access tokens,falseif none.
-
getMutualTLSSenderConstrainedAccessTokens
Deprecated.Sets the preference for TLS client certificate bound access tokens. Corresponds to thetls_client_certificate_bound_access_tokensclient metadata field.- Returns:
trueindicates a preference for TLS client certificate bound access tokens,falseif none.
-
setMutualTLSSenderConstrainedAccessTokens
Deprecated.Gets the preference for TLS client certificate bound access tokens. Corresponds to thetls_client_certificate_bound_access_tokensclient metadata field.- Parameters:
tlsSenderAccessTokens-trueindicates a preference for TLS client certificate bound access tokens,falseif none.
-
getTLSClientAuthSubjectDN
Gets the expected subject distinguished name (DN) of the client X.509 certificate in mutual TLS authentication. Corresponds to thetls_client_auth_subject_dnclient metadata field.- Returns:
- The expected subject distinguished name (DN) of the client
X.509 certificate,
nullif not specified.
-
setTLSClientAuthSubjectDN
Sets the expected subject distinguished name (DN) of the client X.509 certificate in mutual TLS authentication. Corresponds to thetls_client_auth_subject_dnclient metadata field.- Parameters:
subjectDN- The expected subject distinguished name (DN) of the client X.509 certificate,nullif not specified.
-
getTLSClientAuthSanDNS
Gets the expected dNSName SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_dnsclient metadata field.- Returns:
- The expected dNSName SAN entry in the X.509 certificate,
nullif not specified.
-
setTLSClientAuthSanDNS
Sets the expected dNSName SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_dnsclient metadata field.- Parameters:
dns- The expected dNSName SAN entry in the X.509 certificate,nullif not specified.
-
getTLSClientAuthSanURI
Gets the expected uniformResourceIdentifier SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_uriclient metadata field.- Returns:
- The expected uniformResourceIdentifier SAN entry in the X.509
certificate,
nullif not specified.
-
setTLSClientAuthSanURI
Sets the expected uniformResourceIdentifier SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_uriclient metadata field.- Parameters:
uri- The expected uniformResourceIdentifier SAN entry in the X.509 certificate,nullif not specified.
-
getTLSClientAuthSanIP
Gets the expected iPAddress SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_ipclient metadata field.- Returns:
- The expected iPAddress SAN entry in the X.509 certificate,
nullif not specified.
-
setTLSClientAuthSanIP
Sets the expected iPAddress SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_ipclient metadata field.- Parameters:
ip- The expected iPAddress SAN entry in the X.509 certificate,nullif not specified.
-
getTLSClientAuthSanEmail
Gets the expected rfc822Name SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_emailclient metadata field.- Returns:
- The expected rfc822Name SAN entry in the X.509 certificate,
nullif not specified.
-
setTLSClientAuthSanEmail
Sets the expected rfc822Name SAN entry in the X.509 certificate, which the OAuth client will use in mutual TLS authentication. Corresponds to thetls_client_auth_san_emailclient metadata field.- Parameters:
email- The expected rfc822Name SAN entry in the X.509 certificate,nullif not specified.
-
getDPoPBoundAccessTokens
Gets the preference for DPoP bound access tokens. Corresponds to thedpop_bound_access_tokensclient metadata field.- Returns:
trueindicates a preference for DPoP bound access tokens,falseif none.
-
setDPoPBoundAccessTokens
Sets the preference for DPoP bound access tokens. Corresponds to thedpop_bound_access_tokensclient metadata field.- Parameters:
dPoPBoundAccessTokens-trueindicates a preference for DPoP bound access tokens,falseif none.
-
getAuthorizationJWSAlg
Gets the JWS algorithm for JWT-encoded authorisation responses. Corresponds to theauthorization_signed_response_algclient metadata field.- Returns:
- The JWS algorithm,
nullif not specified.
-
setAuthorizationJWSAlg
Sets the JWS algorithm for JWT-encoded authorisation responses. Corresponds to theauthorization_signed_response_algclient metadata field.- Parameters:
authzJWSAlg- The JWS algorithm,nullif not specified. Must not be"none".
-
getAuthorizationJWEAlg
Gets the JWE algorithm for JWT-encoded authorisation responses. Corresponds to theauthorization_encrypted_response_algclient metadata field.- Returns:
- The JWE algorithm,
nullif not specified.
-
setAuthorizationJWEAlg
Sets the JWE algorithm for JWT-encoded authorisation responses. Corresponds to theauthorization_encrypted_response_algclient metadata field.- Parameters:
authzJWEAlg- The JWE algorithm,nullif not specified.
-
getAuthorizationJWEEnc
Sets the encryption method for JWT-encoded authorisation responses. Corresponds to theauthorization_encrypted_response_encclient metadata field.- Returns:
- The encryption method,
nullif specified.
-
setAuthorizationJWEEnc
Sets the encryption method for JWT-encoded authorisation responses. Corresponds to theauthorization_encrypted_response_encclient metadata field.- Parameters:
authzJWEEnc- The encryption method,nullif specified.
-
requiresPushedAuthorizationRequests
Gets the requirement for pushed authorisation requests (PAR). Corresponds to thepushed_authorization_request_endpointclient metadata field.- Returns:
trueif PAR is required, elsefalse.
-
requiresPushedAuthorizationRequests
Sets the requirement for pushed authorisation requests (PAR). Corresponds to thepushed_authorization_request_endpointclient metadata field.- Parameters:
requirePAR-trueif PAR is required, elsefalse.
-
getAuthorizationDetailsTypes
Gets the authorisation details types for Rich Authorisation Requests (RAR). Corresponds to theauthorization_details_typesmetadata field.- Returns:
- The authorisation types,
nullif not specified.
-
setAuthorizationDetailsTypes
Sets the authorisation details types for Rich Authorisation Requests (RAR). Corresponds to theauthorization_details_typesmetadata field.- Parameters:
authzTypes- The authorisation types,nullif not specified.
-
getBackChannelTokenDeliveryMode
Gets the CIBA token delivery mode. Corresponds to thebackchannel_token_delivery_modemetadata field.- Returns:
- The CIBA token delivery mode,
nullif not specified.
-
setBackChannelTokenDeliveryMode
public void setBackChannelTokenDeliveryMode(BackChannelTokenDeliveryMode backChannelTokenDeliveryMode) Sets the CIBA token delivery mode. Corresponds to thebackchannel_token_delivery_modemetadata field.- Parameters:
backChannelTokenDeliveryMode- The CIBA token delivery mode,nullif not specified.
-
getBackChannelClientNotificationEndpoint
Gets the CIBA client notification endpoint URI for the ping or push delivery modes. Corresponds to thebackchannel_client_notification_endpointmetadata field.- Returns:
- The CIBA client notification endpoint URI,
nullif not specified.
-
setBackChannelClientNotificationEndpoint
Sets the CIBA client notification endpoint URI for the ping or push delivery modes. Corresponds to thebackchannel_client_notification_endpointmetadata field.- Parameters:
backChannelClientNotificationEndpoint- The CIBA client notification endpoint URI,nullif not specified.
-
getBackChannelAuthRequestJWSAlg
Gets the JWS algorithm for CIBA requests. Corresponds to thebackchannel_authentication_request_signing_algmetadata field.- Returns:
- The JWS algorithm for CIBA requests,
nullif not specified.
-
setBackChannelAuthRequestJWSAlg
public void setBackChannelAuthRequestJWSAlg(com.nimbusds.jose.JWSAlgorithm backChannelAuthRequestJWSAlg) Sets the JWS algorithm for CIBA requests. Corresponds to thebackchannel_authentication_request_signing_algmetadata field.- Parameters:
backChannelAuthRequestJWSAlg- The JWS algorithm for CIBA requests,nullif not specified.
-
supportsBackChannelUserCodeParam
Gets the support for theuser_codeCIBA request parameter. Corresponds to thebackchannel_user_code_parametermetadata field.- Returns:
trueif theuser_codeparameter is supported, elsefalse.
-
setSupportsBackChannelUserCodeParam
Sets the support for theuser_codeCIBA request parameter. Corresponds to thebackchannel_user_code_parametermetadata field.- Parameters:
backChannelUserCodeParam-trueif theuser_codeparameter is supported, elsefalse.
-
getClientRegistrationTypes
Gets the supported OpenID Connect Federation 1.0 client registration types. Corresponds to theclient_registration_typesmetadata field.- Returns:
- The supported registration types,
nullif not specified.
-
setClientRegistrationTypes
Sets the supported OpenID Connect Federation 1.0 client registration types. Corresponds to theclient_registration_typesmetadata field.- Parameters:
regTypes- The supported registration types,nullif not specified.
-
getOrganizationName
Gets the organisation name in OpenID Connect Federation 1.0. Corresponds to theorganization_namemetadata field.- Returns:
- The organisation name,
nullif not specified.
-
setOrganizationName
Sets the organisation name in OpenID Connect Federation 1.0. Corresponds to theorganization_namemetadata field.- Parameters:
organizationName- The organisation name,nullif not specified.
-
getCustomField
Gets the specified custom metadata field.- Parameters:
name- The field name. Must not benull.- Returns:
- The field value, typically serialisable to a JSON entity,
nullif none.
-
getCustomFields
Gets the custom metadata fields.- Returns:
- The custom metadata fields, as a JSON object, empty object if none.
-
setCustomField
Sets the specified custom metadata field.- Parameters:
name- The field name. Must not benull.value- The field value. Should serialise to a JSON entity.
-
setCustomFields
Sets the custom metadata fields.- Parameters:
customFields- The custom metadata fields, as a JSON object, empty object if none. Must not benull.
-
applyDefaults
Applies the client metadata defaults where no values have been specified.- The response types default to
["code"]. - The grant types default to
["authorization_code"]. - The client authentication method defaults to "client_secret_basic", unless the grant type is "implicit" only.
- The encryption method for JWT-encoded authorisation
responses defaults to
A128CBC-HS256if a JWE algorithm is set.
- The response types default to
-
toJSONObject
Returns the JSON object representation of this client metadata, including any custom fields.- Returns:
- The JSON object.
-
toJSONObject
Returns the JSON object representation of this client metadata.- Parameters:
includeCustomFields-trueto include any custom metadata fields,falseto omit them.- Returns:
- The JSON object.
-
toString
-
parse
Parses a client metadata instance from the specified JSON object.- Parameters:
jsonObject- The JSON object to parse. Must not benull.- Returns:
- The client metadata.
- Throws:
ParseException- If the JSON object couldn't be parsed to a client metadata instance.
-