Class Service
- java.lang.Object
-
- com.authlete.common.dto.Service
-
- All Implemented Interfaces:
Serializable
public class Service extends Object implements Serializable
Information about a service.Some properties correspond to the ones listed in OpenID Provider Metadata in OpenID Connect Discovery 1.0
JWT-based access token
When
getAccessTokenSignAlg()returns a non-null value, access tokens issued by this service become JWTs. The value returned by the method is used as the signature algorithm of the JWTs. When the method returns null, access tokens issued by this service are random strings as before.A JWT-based access token has the following claims.
claim name type description scopestring Space-delimited scope names. client_idstring Client ID. expinteger Time at which this access token will expire. Seconds since the Unix epoch. iatinteger Time at which this access token was issued. Seconds since the Unix epoch. substring The subject (unique identifier) of the resource owner who approved issue of this access token. This claim does not exist or its value is null if this access token was issued by resource owner password credentials flow. issstring The issuer identifier of this service. jtistring The unique identifier of this JWT. The value of this claim itself is the random-string version of this access token. cnfobject If this access token is bound to a client certificate, this claim is included. The type of its value is object and the sub object contains a
"x5t#S256"claim. The value of the"x5t#S256"claim is the X.509 Certificate SHA-256 thumbprint of the client certificate. See "3.1. JWT Certificate Thumbprint Confirmation Method" of RFC 8705 (OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens) for details.If this access token is bound to a public key of DPoP, this claim is included. The type of its value is object and the sub object contains a
"jkt"claim. The value of the"jkt"claim is the thumbprint of the public key. See RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP) for details.audarray If this access token has been generated with target resources, this claim is included. See RFC 8707 (Resource Indicators for OAuth 2.0) for details. authorization_detailsarray If this access token has been generated with authorization_details, this claim is included. See RFC 9396 (OAuth 2.0 Rich Authorization Requests) for details.grant_idstring The grant ID tied to this access token. This field may be set if the authorization request which created this access token included grant_idorgrant_management_action=create. See "Grant Management for OAuth 2.0" for details about the request parameters.grantobject The grant this access token has inherited. This field may be set if the authorization request which created this access token included
grant_management_action=update. See "Grant Management for OAuth 2.0" for details about the request parameter.The format of this JSON object is the same as the response from the grant management endpoint which is defined in "Grant Management for OAuth 2.0".
acrstring The authentication context class of the user authentication that the authorization server performed during the course of issuing the access token. See RFC 9470 (OAuth 2.0 Step Up Authentication Challenge Protocol) for details. auth_timeinteger The time when the user authentication was performed for the access token. The value represents the number of seconds elapsed since the Unix epoch. See RFC 9470 (OAuth 2.0 Step Up Authentication Challenge Protocol) for details. grant_typestring The grant type that was used for the issuance of the access token. Possible values are as follows.
Value Since Authlete Version "authorization_code"2.1.24, 2.2.36, 2.3 "implicit"2.1.24, 2.2.36, 2.3 "password"2.1.24, 2.2.36, 2.3 "client_credentials"2.1.24, 2.2.36, 2.3 "urn:openid:params:grant-type:ciba"2.1.24, 2.2.36, 2.3 "urn:ietf:params:oauth:grant-type:device_code"2.1.24, 2.2.36, 2.3 "urn:ietf:params:oauth:grant-type:token-exchange"2.3 "urn:ietf:params:oauth:grant-type:jwt-bearer"2.3 "urn:ietf:params:oauth:grant-type:pre-authorized_code"3.0 Visible (= not-hidden) extra properties of the access token are embedded in the JWT as custom claims. Regarding extra properties, see the Authlete API document.
The feature of JWT-based access token is available since Authlete 2.1. Access tokens issued by older Authlete versions are always random strings.
RFC 8707 (Resource Indicators for OAuth 2.0) is supported since Authlete 2.2. The
resourcerequest parameter given to older Authlete versions is just ignored, so JWT-based access tokens won't include theaudclaim.RFC 9396 (OAuth 2.0 Rich Authorization Requests) is supported since Authlete 2.2. The
authorization_detailsrequest parameter given to older Authlete versions is just ignored, so JWT-based access tokens won't include theauthorization_detailsclaim."Grant Management for OAuth 2.0" is supported since Authlete 2.3. The
grant_idandgrant_management_actionrequest parameters given to older Authlete versions are just ignored, so JWT-based access token won't include thegrant_idandgrantclaims.RFC 9470 (OAuth 2.0 Step Up Authentication Challenge Protocol) is supported since Authlete 2.3. JWT access tokens issued by older Authlete versions won't include the
acrandauth_timeclaims.Some Authlete APIs (e.g.
/api/auth/authorization/issue) recognize thejwtAtClaimsrequest parameter since Authlete 2.3. Its format is JSON object. The content of the JSON object will be merged into the payload part of the JWT access token.
-
-
Constructor Summary
Constructors Constructor Description Service()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longgetAccessTokenDuration()Get the duration of access tokens in seconds; the value ofexpires_inin access token responses.JWSAlggetAccessTokenSignAlg()Get the signature algorithm of access tokens.StringgetAccessTokenSignatureKeyId()Get the key ID to identify a JWK used for signing access tokens.StringgetAccessTokenType()Get the access token type; the value oftoken_typein access token responses.intgetAllowableClockSkew()Get the allowable clock skew between the server and clients in seconds.longgetApiKey()Get the API key.StringgetApiSecret()Get the API secret.Pair[]getAttributes()Get attributes.StringgetAuthenticationCallbackApiKey()Get the API key to access the authentication callback endpoint.StringgetAuthenticationCallbackApiSecret()Get the API secret to access the authentication callback endpoint.URIgetAuthenticationCallbackEndpoint()Get the URI of the authentication callback endpoint.URI[]getAuthorityHints()Get the identifiers of entities that can issue entity statements for this service.URIgetAuthorizationEndpoint()Get the URI of the authorization endpoint.longgetAuthorizationResponseDuration()Get the duration of authorization response JWTs.StringgetAuthorizationSignatureKeyId()Get the key ID to identify a JWK used for signing authorization responses using an asymmetric key.URIgetBackchannelAuthenticationEndpoint()Get the URI of the backchannel authentication endpoint.intgetBackchannelAuthReqIdDuration()Get the duration of backchannel authentication request IDs issued from the backchannel authentication endpoint in seconds.intgetBackchannelPollingInterval()Get the minimum interval between polling requests to the token endpoint from client applications in seconds.intgetClientsPerDeveloper()Get the number of client applications that one developer can create.longgetCnonceDuration()Get the duration ofc_noncein seconds.longgetCreatedAt()Get the time at which this service was created.longgetCredentialDuration()Get the default duration of verifiable credentials in seconds.CredentialIssuerMetadatagetCredentialIssuerMetadata()Get the credential issuer metadata.StringgetCredentialJwks()Get the JWK Set document containing private keys that are used to sign verifiable credentials.URIgetCredentialJwksUri()Get the URL at which the JWK Set document of the credential issuer is exposed.longgetCredentialOfferDuration()Get the default duration of credential offers in seconds.longgetCredentialTransactionDuration()Get the duration of transaction ID in seconds that may be issued as a result of a credential request or a batch credential request.StringgetDescription()Get the description.StringgetDeveloperAuthenticationCallbackApiKey()Get the API key to access the developer authentication callback endpoint.StringgetDeveloperAuthenticationCallbackApiSecret()Get the API secret to access the developer authentication callback endpoint.URIgetDeveloperAuthenticationCallbackEndpoint()Get the URI of the developer authentication callback endpoint.SnsCredentials[]getDeveloperSnsCredentials()Get the list of SNS credentials that Authlete uses to support social login at the developer console.URIgetDeviceAuthorizationEndpoint()Get the URI of the device authorization endpoint.intgetDeviceFlowCodeDuration()Get the duration of device verification codes and end-user verification codes issued from the device authorization endpoint in seconds.intgetDeviceFlowPollingInterval()Get the minimum interval between polling requests to the token endpoint from client applications in seconds in device flow.URIgetDeviceVerificationUri()Get the verification URI for the device flow.URIgetDeviceVerificationUriComplete()Get the verification URI for the device flow with a placeholder for a user code.longgetDpopNonceDuration()Get the duration of nonce values for DPoP proof JWTs in seconds.URIgetEndSessionEndpoint()Get the end session endpoint for the service.FapiMode[]getFapiModes()Get the FAPI modes for this service.longgetFederationConfigurationDuration()Get the duration of the entity configuration in seconds.StringgetFederationJwks()Get the JWK Set document containing keys that are used to sign (1) self-signed entity statement of this service and (2) the response fromsigned_jwks_uri.URIgetFederationRegistrationEndpoint()Get the URI of the federation registration endpoint.StringgetFederationSignatureKeyId()Get the key ID to identify a JWK that should be used to sign the entity configuration and the signed JWK Set.URIgetGrantManagementEndpoint()Get the URL of the grant management endpoint.Hsk[]getHsks()Get information about keys managed on HSMs (Hardware Security Modules).StringgetIdTokenAudType()Get the type of theaudclaim in ID tokens.longgetIdTokenDuration()Get the duration of ID tokens in seconds.StringgetIdTokenSignatureKeyId()Get the key ID to identify a JWK used for ID token signature using an asymmetric key.URIgetIntrospectionEndpoint()Get the URI of the introspection endpoint.StringgetIntrospectionSignatureKeyId()Get the key ID of the key for signing introspection responses.URIgetIssuer()Get the issuer identifier of this OpenID provider.StringgetJwks()Get the JSON Web Key Set of the service.URIgetJwksUri()Get the URI of the service's JSON Web Key Set.Pair[]getMetadata()Get metadata.longgetModifiedAt()Get the time at which this service was last modified.NamedUri[]getMtlsEndpointAliases()Get the MTLS endpoint aliases.intgetNumber()Get the service number.StringgetOrganizationName()Get the human-readable name representing the organization that operates this service.URIgetPolicyUri()Get the URI that this OpenID Provider provides to the person registering the client to read about the OP's requirements on how the Relying Party can use the data provided by the OP.StringgetPredefinedTransformedClaims()Get the transformed claims predefined by this service in JSON format.longgetPushedAuthReqDuration()Get the duration of pushed authorization requests.URIgetPushedAuthReqEndpoint()Get the URI of the pushed authorization request endpoint.longgetRefreshTokenDuration()Get the duration of refresh tokens in seconds.URIgetRegistrationEndpoint()Get the URI of the registration endpoint.URIgetRegistrationManagementEndpoint()Get the URI of the registration management endpoint.StringgetResourceSignatureKeyId()Get the key ID of a JWK containing the private key used by this service to sign responses from the resource server, such as the userinfo endpoint and responses sent to the RS signing endpoint.URIgetRevocationEndpoint()Get the URI of the token revocation endpoint.URIgetServiceDocumentation()Get the URI of a page containing human-readable information that developers might want or need to know when using this OpenID Provider.StringgetServiceName()Get the service name.intgetServiceOwnerNumber()Get the service owner number.URIgetSignedJwksUri()Get the URI of the endpoint that returns this service's JWK Set document in the JWT format.SnsCredentials[]getSnsCredentials()Get the list of SNS credentials that Authlete uses to support social login.String[]getSupportedAcrs()Get the supported ACRs (authentication context class references).AttachmentType[]getSupportedAttachments()Get attachment types supported by this service.String[]getSupportedAuthorizationDetailsTypes()Get the supported authorization details types that can be used as values of the"type"field in"authorization_details".DeliveryMode[]getSupportedBackchannelTokenDeliveryModes()Get the supported backchannel token delivery modes.String[]getSupportedClaimLocales()Get the supported claim locales.String[]getSupportedClaims()Get the supported claims.ClaimType[]getSupportedClaimTypes()Get the supported claim types.ClientRegistrationType[]getSupportedClientRegistrationTypes()Get the client registration types supported by this service.String[]getSupportedCustomClientMetadata()Get custom client metadata supported by this service.Sns[]getSupportedDeveloperSnses()Get the list of supported SNSes for social login at the developer console.String[]getSupportedDigestAlgorithms()Get supported algorithms used to compute digest values of external attachments.Display[]getSupportedDisplays()Get the supported values ofdisplayparameter passed to the authorization endpoint.String[]getSupportedDocuments()Get document types supported by this service.String[]getSupportedDocumentsCheckMethods()Get document check methods supported by this service.String[]getSupportedDocumentsMethods()Get validation and verification processes supported by this service.String[]getSupportedDocumentsValidationMethods()Deprecated.String[]getSupportedDocumentsVerificationMethods()Deprecated.String[]getSupportedElectronicRecords()Get electronic record types supported by this service.String[]getSupportedEvidence()Get evidence supported by this service.GrantType[]getSupportedGrantTypes()Get the supported grant types.String[]getSupportedIdentityDocuments()Deprecated.ClientAuthMethod[]getSupportedIntrospectionAuthMethods()Get client authentication methods supported at the introspection endpoint.Prompt[]getSupportedPromptValues()Get the supportedpromptvalues.ResponseType[]getSupportedResponseTypes()Get the supported response types.ClientAuthMethod[]getSupportedRevocationAuthMethods()Get client authentication methods supported at the revocation endpoint.Scope[]getSupportedScopes()Get the supported scopes.ServiceProfile[]getSupportedServiceProfiles()Get the supported service profiles.Sns[]getSupportedSnses()Get the list of supported SNSes for social login at the authorization endpoint.ClientAuthMethod[]getSupportedTokenAuthMethods()Get the supported client authentication methods at the token endpoint.String[]getSupportedTrustFrameworks()Get trust frameworks supported by this service.String[]getSupportedUiLocales()Get the supported UI locales.String[]getSupportedVerificationMethods()Deprecated.String[]getSupportedVerifiedClaims()Get verified claims supported by this service.URIgetTokenBatchNotificationEndpoint()Get the URI of the endpoint that receives token batch results.URIgetTokenEndpoint()Get the URI of the token endpoint.URIgetTosUri()Get the URI that the OpenID Provider provides to the person registering the client to read about the OP's terms of service.TrustAnchor[]getTrustAnchors()Get the trust anchors that are referenced when this service resolves trust chains of relying parties.String[]getTrustedRootCertificates()Get the list of root certificates trusted by this service for PKI-based client mutual TLS authentication.UserCodeCharsetgetUserCodeCharset()Get the character set for end-user verification codes (user_code) for Device Flow.intgetUserCodeLength()Get the length of end-user verification codes (user_code) for Device Flow.URIgetUserInfoEndpoint()Get the URI of the user info endpoint.StringgetUserInfoSignatureKeyId()Get the key ID to identify a JWK used for user info signature using an asymmetric key.intgetUserPinLength()Deprecated.StringgetVerifiedClaimsValidationSchemaSet()Get the name of the validation schema set that is used to validate the content of"verified_claims".booleanisAccessTokenForExternalAttachmentEmbedded()Get the flag indicating whether Authlete generates access tokens for external attachments and embeds them in ID tokens and userinfo responses.booleanisBackchannelBindingMessageRequiredInFapi()Get the boolean flag which indicates whether thebinding_messagerequest parameter is always required whenever a backchannel authentication request is judged as a request for Financial-grade API.booleanisBackchannelUserCodeParameterSupported()Get the boolean flag which indicates whether the"user_code"request parameter is supported at the backchannel authentication endpoint.booleanisClaimShortcutRestrictive()Get the flag indicating whether claims specified by shortcut scopes (e.g.booleanisClientAssertionAudRestrictedToIssuer()Get the flag to determine to restrict theaudclaim value in client assertions to the issuer of this service as a string.booleanisClientIdAliasEnabled()Get the flag which indicates whether the 'Client ID Alias' feature is enabled or not.booleanisDcrDuplicateSoftwareIdBlocked()Get the flag indicating whether to block DCR (Dynamic Client Registration) requests whosesoftware_idhas already been used previously.booleanisDcrScopeUsedAsRequestable()booleanisDirectAuthorizationEndpointEnabled()Get the flag which indicates whether the direct authorization endpoint is enabled or not.booleanisDirectIntrospectionEndpointEnabled()Get the flag which indicates whether the direct introspection endpoint is enabled or not.booleanisDirectJwksEndpointEnabled()Get the flag which indicates whether the direct jwks endpoint is enabled or not.booleanisDirectRevocationEndpointEnabled()Get the flag which indicates whether the direct revocation endpoint is enabled or not.booleanisDirectTokenEndpointEnabled()Get the flag which indicates whether the direct token endpoint is enabled or not.booleanisDirectUserInfoEndpointEnabled()Get the flag which indicates whether the direct userinfo endpoint is enabled or not.booleanisDpopNonceRequired()Get the flag indicating whether to require DPoP proof JWTs to include thenonceclaim whenever they are presented.booleanisDynamicRegistrationSupported()Get the flag which indicates whether the dynamic client registration is supported.booleanisErrorDescriptionOmitted()Get the flag which indicates whether theerror_descriptionresponse parameter is omitted.booleanisErrorUriOmitted()Get the flag which indicates whether theerror_uriresponse parameter is omitted.booleanisFederationEnabled()Get the flag indicating whether this service supports OpenID Federation 1.0.booleanisFrontChannelRequestObjectEncryptionRequired()Get the flag indicating whether encryption of request object is required when the request object is passed through the front channel.booleanisGrantManagementActionRequired()Get the flag indicating whether every authorization request (and any request serving as an authorization request such as CIBA backchannel authentication request and device authorization request) must include thegrant_management_actionrequest parameter.booleanisHsmEnabled()Get the flag indicating whether HSM (Hardware Security Module) support is enabled for this service.booleanisIdTokenReissuable()Get the flag indicating whether to enable the feature of ID token reissuance in the refresh token flow.booleanisIssSuppressed()Get the flag indicating whether generation of theissresponse parameter is suppressed.booleanisJwtGrantByIdentifiableClientsOnly()Get the flag indicating whether to prohibit unidentifiable clients from using the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).booleanisJwtGrantEncryptedJwtRejected()Get the flag indicating whether to reject token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).booleanisJwtGrantUnsignedJwtRejected()Get the flag indicating whether to reject token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).booleanisLoopbackRedirectionUriVariable()Get the flag indicating whether the port number component of redirection URIs can be variable when the host component indicates loopback.booleanisMissingClientIdAllowed()Get the flag indicating whether token requests from public clients without theclient_idrequest parameter are allowed when the client can be guessed fromauthorization_codeorrefresh_token.booleanisMutualTlsValidatePkiCertChain()Determine whether this service validates certificate chains during PKI-based client mutual TLS authentication.booleanisNativeSsoSupported()Get the flag to determine to support the "OpenID Connect Native SSO for Mobile Apps 1.0" specification (a.k.a.booleanisNbfOptional()Get the flag indicating whether thenbfclaim in the request object is optional even when the authorization request is regarded as a FAPI-Part2 request.booleanisOpenidDroppedOnRefreshWithoutOfflineAccess()Get the flag indicating whether to remove theopenidscope from a new access token issued by the refresh token flow if the presented refresh token does not contain theoffline_accessscope.booleanisParRequired()Get the flag indicating whether this service requires that clients use the pushed authorization request endpoint.booleanisPkceRequired()Get the flag which indicates whether the use of Proof Key for Code Exchange (PKCE) is always required for authorization requests by Authorization Code Flow.booleanisPkceS256Required()Get the flag which indicates whetherS256is always required as the code challenge method whenever PKCE (RFC 7636) is used.booleanisPreAuthorizedGrantAnonymousAccessSupported()Get the flag indicating whether token requests using the pre-authorized code grant flow by unidentifiable clients are allowed.booleanisRefreshTokenDurationKept()Get the flag which indicates whether the remaining duration of the used refresh token is taken over to the newly issued refresh token.booleanisRefreshTokenDurationReset()Get the flag which indicates whether duration of refresh tokens are reset when they are used even if therefreshTokenKeptproperty of this service (cf.isRefreshTokenKept()) is true (= even if "Refresh Token Continuous Use" is "Kept").booleanisRefreshTokenIdempotent()Get the flag indicating whether refresh token requests with the same refresh token can be made multiple times in quick succession and they can obtain the same renewed refresh token within the short period.booleanisRefreshTokenKept()Get the flag which indicates whether a refresh token remains valid or gets renewed after its use.booleanisRequestObjectAudienceChecked()Get the flag indicating whether Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service.booleanisRequestObjectEncryptionAlgMatchRequired()Get the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata of the client that has sent the request object.booleanisRequestObjectEncryptionEncMatchRequired()Get the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata of the client that has sent the request object.booleanisRequestObjectRequired()Get the flag indicating whether this service requires that authorization requests always utilize a request object by using eitherrequestorrequest_urirequest parameter.booleanisRsResponseSigned()Get whether the service signs responses from the resource server.booleanisScopeRequired()Get the flag indicating whether requests that request no scope are rejected or not.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 service support issuing TLS client certificate bound access tokens?booleanisTokenExchangeByConfidentialClientsOnly()Get the flag indicating whether to prohibit public clients from making token exchange requests (cf. RFC 8693).booleanisTokenExchangeByIdentifiableClientsOnly()Get the flag indicating whether to prohibit unidentifiable clients from making token exchange requests (cf. RFC 8693).booleanisTokenExchangeByPermittedClientsOnly()Get the flag indicating whether to prohibit clients which have no explicit permission from making token exchange requests (cf. RFC 8693).booleanisTokenExchangeEncryptedJwtRejected()Get the flag indicating whether to reject token exchange requests which use encrypted JWTs as input tokens.booleanisTokenExchangeUnsignedJwtRejected()Get the flag indicating whether to reject token exchange requests which use unsigned JWTs as input tokens.booleanisTokenExpirationLinked()Get the flag indicating whether the expiration date of an access token never exceeds that of the corresponding refresh token.booleanisTraditionalRequestObjectProcessingApplied()Get the flag indicating whether a request object is processed based on rules defined in OpenID Connect Core 1.0 or JAR (JWT Secured Authorization Request).booleanisUnauthorizedOnClientConfigSupported()Get the flag indicating whether Authlete's/api/client/registrationAPI usesUNAUTHORIZEDas a value of theactionresponse parameter when appropriate.booleanisVerifiableCredentialsEnabled()Get the flag indicating whether the feature of Verifiable Credentials for this service is enabled or not.ServiceloadAttributes(Iterable<Pair> attributes)Load attributes from an iterable.ServicesetAccessTokenDuration(long duration)Set the duration of access tokens in seconds; the value ofexpires_inin access token responses.ServicesetAccessTokenForExternalAttachmentEmbedded(boolean embedded)Set the flag indicating whether Authlete generates access tokens for external attachments and embeds them in ID tokens and userinfo responses.ServicesetAccessTokenSignAlg(JWSAlg alg)Set the signature algorithm of access tokens.ServicesetAccessTokenSignatureKeyId(String keyId)Set the key ID to identify a JWK used for signing access tokens.ServicesetAccessTokenType(String type)Set the access token type; the value oftoken_typein access token responses.ServicesetAllowableClockSkew(int seconds)Set the allowable clock skew between the server and clients in seconds.ServicesetApiKey(long apiKey)Set the API key.ServicesetApiSecret(String apiSecret)Set the API secret.ServicesetAttributes(Pair[] attributes)Set attributes.ServicesetAuthenticationCallbackApiKey(String apiKey)Set the API key to access the authentication callback endpoint.ServicesetAuthenticationCallbackApiSecret(String apiSecret)Set the API secret to access the authentication callback endpoint.ServicesetAuthenticationCallbackEndpoint(URI endpoint)Set the URI of the authentication callback endpoint.ServicesetAuthorityHints(URI[] authorityHints)Set the identifiers of entities that can issue entity statements for this service.ServicesetAuthorizationEndpoint(URI endpoint)Set the URI of the authorization endpoint.ServicesetAuthorizationResponseDuration(long duration)Set the duration of authorization response JWTs.ServicesetAuthorizationSignatureKeyId(String keyId)Set the key ID to identify a JWK used for signing authorization responses using an asymmetric key.ServicesetBackchannelAuthenticationEndpoint(URI endpoint)Set the URI of the backchannel authentication endpoint.ServicesetBackchannelAuthReqIdDuration(int duration)Set the duration of backchannel authentication request IDs issued from the backchannel authentication endpoint in seconds.ServicesetBackchannelBindingMessageRequiredInFapi(boolean required)Set the boolean flag which indicates whether thebinding_messagerequest parameter is always required whenever a backchannel authentication request is judged as a request for Financial-grade API.ServicesetBackchannelPollingInterval(int interval)Set the minimum interval between polling requests to the token endpoint from client applications in seconds.ServicesetBackchannelUserCodeParameterSupported(boolean supported)Set the boolean flag which indicates whether the"user_code"request parameter is supported at the backchannel authentication endpoint.ServicesetClaimShortcutRestrictive(boolean restrictive)Set the flag indicating whether claims specified by shortcut scopes (e.g.ServicesetClientAssertionAudRestrictedToIssuer(boolean restricted)Set the flag to determine whether to restrict theaudclaim value in client assertions to the issuer of this service as a string.ServicesetClientIdAliasEnabled(boolean enabled)Enable/disable the 'Client ID Alias' feature.ServicesetClientsPerDeveloper(int count)Set the number of client applications that one developer can create.ServicesetCnonceDuration(long duration)Set the duration ofc_noncein seconds.ServicesetCreatedAt(long createdAt)Set the time at which this service was created.ServicesetCredentialDuration(long duration)Set the default duration of verifiable credentials in seconds.ServicesetCredentialIssuerMetadata(CredentialIssuerMetadata metadata)Set the credential issuer metadata.ServicesetCredentialJwks(String jwks)Set the JWK Set document containing private keys that are used to sign verifiable credentials.ServicesetCredentialJwksUri(URI uri)Set the URL at which the JWK Set document of the credential issuer is exposed.ServicesetCredentialOfferDuration(long duration)Set the default duration of credential offers in seconds.ServicesetCredentialTransactionDuration(long duration)Set the duration of transaction ID in seconds that may be issued as a result of a credential request or a batch credential request.ServicesetDcrDuplicateSoftwareIdBlocked(boolean blocked)Set the flag indicating whether to block DCR (Dynamic Client Registration) requests whosesoftware_idhas already been used previously.ServicesetDcrScopeUsedAsRequestable(boolean used)ServicesetDescription(String description)Set the description.ServicesetDeveloperAuthenticationCallbackApiKey(String apiKey)Set the API key to access the developer authentication callback endpoint.ServicesetDeveloperAuthenticationCallbackApiSecret(String apiSecret)Set the API secret to access the developer authentication callback endpoint.ServicesetDeveloperAuthenticationCallbackEndpoint(URI endpoint)Set the URI of the developer authentication callback endpoint.ServicesetDeveloperSnsCredentials(SnsCredentials[] snsCredentials)Set the list of SNS credentials that Authlete uses to support social login at the developer console.ServicesetDeviceAuthorizationEndpoint(URI endpoint)Set the URI of the device authorization endpoint.ServicesetDeviceFlowCodeDuration(int duration)Set the duration of device verification codes and end-user verification codes issued from the device authorization endpoint in seconds.ServicesetDeviceFlowPollingInterval(int interval)Set the minimum interval between polling requests to the token endpoint from client applications in seconds in device flow.ServicesetDeviceVerificationUri(URI uri)Set the verification URI for the device flow.ServicesetDeviceVerificationUriComplete(URI uri)Set the verification URI for the device flow with a placeholder for a user code.ServicesetDirectAuthorizationEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct authorization endpoint is enabled or not.ServicesetDirectIntrospectionEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct introspection endpoint is enabled or not.ServicesetDirectJwksEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct jwks endpoint is enabled or not.ServicesetDirectRevocationEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct revocation endpoint is enabled or not.ServicesetDirectTokenEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct token endpoint is enabled or not.ServicesetDirectUserInfoEndpointEnabled(boolean enabled)Set the flag which indicates whether the direct userinfo endpoint is enabled or not.ServicesetDpopNonceDuration(long duration)Set the duration of nonce values for DPoP proof JWTs in seconds.ServicesetDpopNonceRequired(boolean required)Set the flag indicating whether to require DPoP proof JWTs to include thenonceclaim whenever they are presented.ServicesetDynamicRegistrationSupported(boolean enabled)Set the flag which indicates whether dynamic client registration is supported.ServicesetEndSessionEndpoint(URI endSessionEndpoint)Set the end session endpoint for the service.ServicesetErrorDescriptionOmitted(boolean omitted)Omit or embed theerror_descriptionresponse parameter in error responses.ServicesetErrorUriOmitted(boolean omitted)Omit or embed theerror_uriresponse parameter in error responses.ServicesetFapiModes(FapiMode[] modes)Set the FAPI modes for this service.ServicesetFederationConfigurationDuration(long duration)Set the duration of the entity configuration in seconds.ServicesetFederationEnabled(boolean enabled)Set the flag indicating whether this service supports OpenID Federation 1.0.ServicesetFederationJwks(String jwks)Set the JWK Set document containing keys that are used to sign (1) self-signed entity statement of this service and (2) the response fromsigned_jwks_uri.ServicesetFederationRegistrationEndpoint(URI endpoint)Set the URI of the federation registration endpoint.ServicesetFederationSignatureKeyId(String keyId)Set the key ID to identify a JWK that should be used to sign the entity configuration and the signed JWK Set.ServicesetFrontChannelRequestObjectEncryptionRequired(boolean required)Set the flag indicating whether encryption of request object is required when the request object is passed through the front channel.ServicesetGrantManagementActionRequired(boolean required)Set the flag indicating whether every authorization request (and any request serving as an authorization request such as CIBA backchannel authentication request and device authorization request) must include thegrant_management_actionrequest parameter.ServicesetGrantManagementEndpoint(URI endpoint)Set the URL of the grant management endpoint.ServicesetHsks(Hsk[] hsks)Set information about keys managed on HSMs (Hardware Security Modules).ServicesetHsmEnabled(boolean enabled)Set the flag indicating whether HSM (Hardware Security Module) support is enabled for this service.ServicesetIdTokenAudType(String type)Set the type of theaudclaim in ID tokens.ServicesetIdTokenDuration(long duration)Set the duration of ID tokens in seconds.ServicesetIdTokenReissuable(boolean reissuable)Set the flag indicating whether to enable the feature of ID token reissuance in the refresh token flow.ServicesetIdTokenSignatureKeyId(String keyId)Set the key ID to identify a JWK used for ID token signature using an asymmetric key.ServicesetIntrospectionEndpoint(URI endpoint)Set the URI of the introspection endpoint.ServicesetIntrospectionSignatureKeyId(String keyId)Set the key ID of the key for signing introspection responses.ServicesetIssSuppressed(boolean suppressed)Set the flag indicating whether generation of theissresponse parameter is suppressed.ServicesetIssuer(URI issuer)Set the issuer identifier of this OpenID provider.ServicesetJwks(String jwks)Set the JSON Web Key Set of the service.ServicesetJwksUri(URI uri)Set the URI of the service's JSON Web Key Set.ServicesetJwtGrantByIdentifiableClientsOnly(boolean only)Set the flag indicating whether to prohibit unidentifiable clients from using the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).ServicesetJwtGrantEncryptedJwtRejected(boolean rejected)Set the flag indicating whether to reject token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).ServicesetJwtGrantUnsignedJwtRejected(boolean rejected)Set the flag indicating whether to reject token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).ServicesetLoopbackRedirectionUriVariable(boolean variable)Set the flag indicating whether the port number component of redirection URIs can be variable when the host component indicates loopback.ServicesetMetadata(Pair[] metadata)Set metadata.ServicesetMissingClientIdAllowed(boolean allowed)Set the flag indicating whether token requests from public clients without theclient_idrequest parameter are allowed when the client can be guessed fromauthorization_codeorrefresh_token.ServicesetModifiedAt(long modifiedAt)Set the time at which this service was last modified.ServicesetMtlsEndpointAliases(NamedUri[] aliases)Set the MTLS endpoint aliases.ServicesetMutualTlsValidatePkiCertChain(boolean mutualTlsValidatePkiCertChain)Set whether this service validates certificate chains during PKI-based client mutual TLS authentication.ServicesetNativeSsoSupported(boolean supported)Set the flag to determine to support the "OpenID Connect Native SSO for Mobile Apps 1.0" specification (a.k.a.ServicesetNbfOptional(boolean optional)Set the flag indicating whether thenbfclaim in the request object is optional even when the authorization request is regarded as a FAPI-Part2 request.ServicesetNumber(int number)Set the service number.ServicesetOpenidDroppedOnRefreshWithoutOfflineAccess(boolean dropped)Set the flag indicating whether to remove theopenidscope from a new access token issued by the refresh token flow if the presented refresh token does not contain theoffline_accessscope.ServicesetOrganizationName(String name)Set the human-readable name representing the organization that operates this service.ServicesetParRequired(boolean required)Set the flag indicating whether this service requires that clients use the pushed authorization request endpoint.ServicesetPkceRequired(boolean required)Set the flag which indicates whether the use of Proof Key for Code Exchange (PKCE) is always required for authorization requests by Authorization Code Flow.ServicesetPkceS256Required(boolean required)Set the flag which indicates whetherS256is always required as the code challenge method whenever PKCE (RFC 7636) is used.ServicesetPolicyUri(URI uri)Set the URI that this OpenID Provider provides to the person registering the client to read about the OP's requirements on how the Relying Party can use the data provided by the OP.ServicesetPreAuthorizedGrantAnonymousAccessSupported(boolean supported)Set the flag indicating whether token requests using the pre-authorized code grant flow by unidentifiable clients are allowed.ServicesetPredefinedTransformedClaims(String claims)Set the transformed claims predefined by this service in JSON format.ServicesetPushedAuthReqDuration(long duration)Set the duration of pushed authorization requests.ServicesetPushedAuthReqEndpoint(URI endpoint)Set the URI of the pushed authorization request endpoint.ServicesetRefreshTokenDuration(long duration)Set the duration of refresh tokens in seconds.ServicesetRefreshTokenDurationKept(boolean kept)Set the flag which indicates whether the remaining duration of the used refresh token is taken over to the newly issued refresh token.ServicesetRefreshTokenDurationReset(boolean reset)Set the flag which indicates whether duration of refresh tokens are reset when they are used even if therefreshTokenKeptproperty of this service (cf.isRefreshTokenKept()) is true (= even if "Refresh Token Continuous Use" is "Kept").ServicesetRefreshTokenIdempotent(boolean idempotent)Set the flag indicating whether refresh token requests with the same refresh token can be made multiple times in quick succession and they can obtain the same renewed refresh token within the short period.ServicesetRefreshTokenKept(boolean kept)Set the flag which indicates whether a refresh token remains valid or gets renewed after its use.ServicesetRegistrationEndpoint(URI endpoint)Set the URI of the registration endpoint.ServicesetRegistrationManagementEndpoint(URI endpoint)Set the URI of the registration management endpoint.ServicesetRequestObjectAudienceChecked(boolean checked)Set the flag indicating whether Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service.ServicesetRequestObjectEncryptionAlgMatchRequired(boolean required)Set the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata of the client that has sent the request object.ServicesetRequestObjectEncryptionEncMatchRequired(boolean required)Set the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata of the client that has sent the request object.ServicesetRequestObjectRequired(boolean required)Set the flag indicating whether this service requires that authorization requests always utilize a request object by using eitherrequestorrequest_urirequest parameter.ServicesetResourceSignatureKeyId(String keyId)Set the key ID of a JWK containing the private key used by this service to sign responses from the resource server, such as the userinfo endpoint and responses sent to the RS signing endpoint.ServicesetRevocationEndpoint(URI endpoint)Set the URI of the token revocation endpoint.ServicesetRsResponseSigned(boolean signed)Set whether the service signs responses from the resource server.ServicesetScopeRequired(boolean required)Set the flag indicating whether requests that request no scope are rejected or not.ServicesetServiceDocumentation(URI uri)Set the URI of a page containing human-readable information that developers might want or need to know when using this OpenID Provider.ServicesetServiceName(String serviceName)Set the service name.ServicesetServiceOwnerNumber(int serviceOwnerNumber)Set the service owner numberServicesetSignedJwksUri(URI uri)Set the URI of the endpoint that returns this service's JWK Set document in the JWT format.ServicesetSingleAccessTokenPerSubject(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.ServicesetSnsCredentials(SnsCredentials[] snsCredentials)Set the list of SNS credentials that Authlete uses to support social login.ServicesetSupportedAcrs(String[] acrs)Set the supported ACRs (authentication context class references).ServicesetSupportedAttachments(AttachmentType[] types)Set attachment types supported by this service.ServicesetSupportedAuthorizationDetailsTypes(String[] types)Set the supported authorization details types that can be used as values of the"type"field in"authorization_details".ServicesetSupportedBackchannelTokenDeliveryModes(DeliveryMode[] modes)Get the supported backchannel token delivery modes.ServicesetSupportedClaimLocales(String[] supportedClaimLocales)Set the supported claim locales.ServicesetSupportedClaims(String[] supportedClaims)Set the supported claims.ServicesetSupportedClaimTypes(ClaimType[] claimTypes)Set the supported claim types.ServicesetSupportedClientRegistrationTypes(ClientRegistrationType[] types)Set the client registration types supported by this service.ServicesetSupportedCustomClientMetadata(String[] metadata)Set custom client metadata supported by this service.ServicesetSupportedDeveloperSnses(Sns[] supportedSnses)Set the list of supported SNSes for social login at the developer console.ServicesetSupportedDigestAlgorithms(String[] algorithms)Set supported algorithms used to compute digest values of external attachments.ServicesetSupportedDisplays(Display[] displays)Set the supported values ofdisplayparameter passed to the authorization endpoint.ServicesetSupportedDocuments(String[] documents)Set document types supported by this service.ServicesetSupportedDocumentsCheckMethods(String[] methods)Set document check methods supported by this service.ServicesetSupportedDocumentsMethods(String[] methods)Set validation and verification processes supported by this service.ServicesetSupportedDocumentsValidationMethods(String[] methods)Deprecated.ServicesetSupportedDocumentsVerificationMethods(String[] methods)Deprecated.ServicesetSupportedElectronicRecords(String[] records)Set electronic record types supported by this service.ServicesetSupportedEvidence(String[] evidence)Set evidence supported by this service.ServicesetSupportedGrantTypes(GrantType[] grantTypes)Set the supported grant types.ServicesetSupportedIdentityDocuments(String[] documents)Deprecated.ServicesetSupportedIntrospectionAuthMethods(ClientAuthMethod[] methods)Set client authentication methods supported at the introspection endpoint.ServicesetSupportedPromptValues(Prompt[] promptValues)Set the supportedpromptvalues.ServicesetSupportedResponseTypes(ResponseType[] responseTypes)Set the supported response types.ServicesetSupportedRevocationAuthMethods(ClientAuthMethod[] methods)Set client authentication methods supported at the revocation endpoint.ServicesetSupportedScopes(Scope[] supportedScopes)Set the supported scopes.ServicesetSupportedServiceProfiles(ServiceProfile[] profiles)Set the supported service profiles.ServicesetSupportedServiceProfiles(Iterable<ServiceProfile> profiles)Set the supported service profiles.ServicesetSupportedSnses(Sns[] supportedSnses)Set the list of supported SNSes for social login at the authorization endpoint.ServicesetSupportedTokenAuthMethods(ClientAuthMethod[] methods)Set the number of client authentication methods at the token endpoint.ServicesetSupportedTrustFrameworks(String[] frameworks)Set trust frameworks supported by this service.ServicesetSupportedUiLocales(String[] supportedUiLocales)Set the supported UI locales.ServicesetSupportedVerificationMethods(String[] methods)Deprecated.ServicesetSupportedVerifiedClaims(String[] claims)Set verified claims supported by this service.ServicesetTlsClientCertificateBoundAccessTokens(boolean enabled)Enable or disable support for TLS client certificate bound access tokens.ServicesetTokenBatchNotificationEndpoint(URI endpoint)Set the URI of the endpoint that receives token batch results.ServicesetTokenEndpoint(URI endpoint)Set the URI of the token endpoint.ServicesetTokenExchangeByConfidentialClientsOnly(boolean only)Set the flag indicating whether to prohibit public clients from making token exchange requests (cf. RFC 8693).ServicesetTokenExchangeByIdentifiableClientsOnly(boolean only)Set the flag indicating whether to prohibit unidentifiable clients from making token exchange requests (cf. RFC 8693).ServicesetTokenExchangeByPermittedClientsOnly(boolean only)Set the flag indicating whether to prohibit clients which have no explicit permission from making token exchange requests (cf. RFC 8693).ServicesetTokenExchangeEncryptedJwtRejected(boolean rejected)Set the flag indicating whether to reject token exchange requests which use encrypted JWTs as input tokens.ServicesetTokenExchangeUnsignedJwtRejected(boolean rejected)Set the flag indicating whether to reject token exchange requests which use unsigned JWTs as input tokens.ServicesetTokenExpirationLinked(boolean linked)Set the flag indicating whether the expiration date of an access token never exceeds that of the corresponding refresh token.ServicesetTosUri(URI uri)Set the URI that the OpenID Provider provides to the person registering the client to read about the OP's terms of service.ServicesetTraditionalRequestObjectProcessingApplied(boolean applied)Set the flag indicating whether a request object is processed based on rules defined in OpenID Connect Core 1.0 or JAR (JWT Secured Authorization Request).ServicesetTrustAnchors(TrustAnchor[] trustAnchors)Set the trust anchors that are referenced when this service resolves trust chains of relying parties.ServicesetTrustedRootCertificates(String[] trustedRootCertificates)Get the list of root certificates trusted by this service for PKI-based client mutual TLS authentication.ServicesetUnauthorizedOnClientConfigSupported(boolean supported)Set the flag indicating whether Authlete's/api/client/registrationAPI usesUNAUTHORIZEDas a value of theactionresponse parameter when appropriate.ServicesetUserCodeCharset(UserCodeCharset charset)Set the character set for end-user verification codes (user_code) for Device Flow.ServicesetUserCodeLength(int length)Set the length of end-user verification codes (user_code) for Device Flow.ServicesetUserInfoEndpoint(URI endpoint)Set the URI of the user info endpoint.ServicesetUserInfoSignatureKeyId(String keyId)Set the key ID to identify a JWK used for user info signature using an asymmetric key.ServicesetUserPinLength(int length)Deprecated.ServicesetVerifiableCredentialsEnabled(boolean enabled)Set the flag indicating whether the feature of Verifiable Credentials for this service is enabled or not.ServicesetVerifiedClaimsValidationSchemaSet(String schemaSet)Set the name of the validation schema set that is used to validate the content of"verified_claims".booleansupports(ServiceProfile profile)Check if this service supports the specified profile.booleansupportsAll(ServiceProfile... profiles)Check if this service supports all the specified service profiles.booleansupportsAll(Iterable<ServiceProfile> profiles)Check if this service supports all the specified service profiles.booleansupportsAny(ServiceProfile... profiles)Check if this service any of the specified service profiles.booleansupportsAny(Iterable<ServiceProfile> profiles)Check if this service any of the specified service profiles.
-
-
-
Method Detail
-
getNumber
public int getNumber()
Get the service number.- Returns:
- The service number.
-
setNumber
public Service setNumber(int number)
Set the service number.- Parameters:
number- The service number.- Returns:
thisobject.
-
getServiceOwnerNumber
public int getServiceOwnerNumber()
Get the service owner number.- Returns:
- The service owner number.
-
setServiceOwnerNumber
public Service setServiceOwnerNumber(int serviceOwnerNumber)
Set the service owner number- Parameters:
serviceOwnerNumber- The service owner number.- Returns:
thisobject.
-
getServiceName
public String getServiceName()
Get the service name.- Returns:
- The service name.
-
setServiceName
public Service setServiceName(String serviceName)
Set the service name.- Parameters:
serviceName- The service name.- Returns:
thisobject.
-
getApiKey
public long getApiKey()
Get the API key.- Returns:
- The API key.
-
setApiKey
public Service setApiKey(long apiKey)
Set the API key.- Parameters:
apiKey- The API key.- Returns:
thisobject.
-
getApiSecret
public String getApiSecret()
Get the API secret.- Returns:
- The API secret.
-
setApiSecret
public Service setApiSecret(String apiSecret)
Set the API secret.- Parameters:
apiSecret- The API secret.- Returns:
thisobject.
-
getIssuer
public URI getIssuer()
Get the issuer identifier of this OpenID provider.- Returns:
- The issuer identifier.
-
setIssuer
public Service setIssuer(URI issuer)
Set the issuer identifier of this OpenID provider.- Parameters:
issuer- The issuer identifier.- Returns:
thisobject.
-
getAuthorizationEndpoint
public URI getAuthorizationEndpoint()
Get the URI of the authorization endpoint.- Returns:
- The URI of the authorization endpoint.
-
setAuthorizationEndpoint
public Service setAuthorizationEndpoint(URI endpoint)
Set the URI of the authorization endpoint.- Parameters:
endpoint- The URI of the authorization endpoint.- Returns:
thisobject.
-
getTokenEndpoint
public URI getTokenEndpoint()
Get the URI of the token endpoint.- Returns:
- The URI of the token endpoint.
-
setTokenEndpoint
public Service setTokenEndpoint(URI endpoint)
Set the URI of the token endpoint.- Parameters:
endpoint- The URI of the token endpoint.- Returns:
thisobject.
-
getRevocationEndpoint
public URI getRevocationEndpoint()
Get the URI of the token revocation endpoint.- Returns:
- The URI of the token revocation endpoint.
- Since:
- 1.16
- See Also:
- RFC 7009: OAuth 2.0 Token Revocation
-
getSupportedRevocationAuthMethods
public ClientAuthMethod[] getSupportedRevocationAuthMethods()
Get client authentication methods supported at the revocation endpoint.- Returns:
- Client authentication methods supported at the revocation endpoint.
- Since:
- 2.17
-
setSupportedRevocationAuthMethods
public Service setSupportedRevocationAuthMethods(ClientAuthMethod[] methods)
Set client authentication methods supported at the revocation endpoint.- Parameters:
methods- Client authentication methods.- Returns:
thisobject.- Since:
- 2.17
-
setRevocationEndpoint
public Service setRevocationEndpoint(URI endpoint)
Set the URI of the token revocation endpoint.- Parameters:
endpoint- The URI of the token revocation endpoint.- Returns:
thisobject.- Since:
- 1.16
- See Also:
- RFC 7009: OAuth 2.0 Token Revocation
-
getUserInfoEndpoint
public URI getUserInfoEndpoint()
Get the URI of the user info endpoint.- Returns:
- The URI of the user info endpoint.
-
setUserInfoEndpoint
public Service setUserInfoEndpoint(URI endpoint)
Set the URI of the user info endpoint.- Parameters:
endpoint- The URI of the user info endpoint.- Returns:
thisobject.
-
getJwksUri
public URI getJwksUri()
Get the URI of the service's JSON Web Key Set.- Returns:
- The URI of the service's JSON Web Key Set.
-
setJwksUri
public Service setJwksUri(URI uri)
Set the URI of the service's JSON Web Key Set.- Parameters:
uri- The URI of the service's JSON Web Key Set.- Returns:
thisobject.
-
getJwks
public String getJwks()
Get the JSON Web Key Set of the service.- Returns:
- The JSON Web Key Set of the service.
-
setJwks
public Service setJwks(String jwks)
Set the JSON Web Key Set of the service.- Parameters:
jwks- The JSON Web Key Set of the service.- Returns:
thisobject.
-
getRegistrationEndpoint
public URI getRegistrationEndpoint()
Get the URI of the registration endpoint.- Returns:
- The URI of the registration endpoint.
-
setRegistrationEndpoint
public Service setRegistrationEndpoint(URI endpoint)
Set the URI of the registration endpoint.- Parameters:
endpoint- The URI of the registration endpoint.- Returns:
thisobject.
-
getRegistrationManagementEndpoint
public URI getRegistrationManagementEndpoint()
Get the URI of the registration management endpoint. If dynamic client registration is supported, and this is set, this URI will be used as the basis of the client's management endpoint by appending/clientid/to it as a path element. If this is unset, the value ofregistrationEndpointwill be used as the URI base instead.- Returns:
- The base URI of the registration management endpoint.
- Since:
- 2.39
-
setRegistrationManagementEndpoint
public Service setRegistrationManagementEndpoint(URI endpoint)
Set the URI of the registration management endpoint. If dynamic client registration is supported, and this is set, this URI will be used as the basis of the client's management endpoint by appending/clientid/to it as a path element. If this is unset, the value ofregistrationEndpointwill be used as the URI base instead.- Parameters:
endpoint- The base URI of the registration management endpoint.- Returns:
thisobject.- Since:
- 2.39
-
getSupportedScopes
public Scope[] getSupportedScopes()
Get the supported scopes.- Returns:
- The supported scopes.
-
setSupportedScopes
public Service setSupportedScopes(Scope[] supportedScopes)
Set the supported scopes.- Parameters:
supportedScopes- The supported scopes.- Returns:
thisobject.
-
getSupportedResponseTypes
public ResponseType[] getSupportedResponseTypes()
Get the supported response types.- Returns:
- The supported response types.
-
setSupportedResponseTypes
public Service setSupportedResponseTypes(ResponseType[] responseTypes)
Set the supported response types.- Parameters:
responseTypes- The supported response types.- Returns:
thisobject.
-
getSupportedGrantTypes
public GrantType[] getSupportedGrantTypes()
Get the supported grant types.- Returns:
- The supported grant types.
-
setSupportedGrantTypes
public Service setSupportedGrantTypes(GrantType[] grantTypes)
Set the supported grant types.- Parameters:
grantTypes- The supported grant types.- Returns:
thisobject.
-
getSupportedAcrs
public String[] getSupportedAcrs()
Get the supported ACRs (authentication context class references).- Returns:
- The supported ACRs.
-
setSupportedAcrs
public Service setSupportedAcrs(String[] acrs)
Set the supported ACRs (authentication context class references).- Parameters:
acrs- The supported ACRs.- Returns:
thisobject.
-
getSupportedTokenAuthMethods
public ClientAuthMethod[] getSupportedTokenAuthMethods()
Get the supported client authentication methods at the token endpoint.- Returns:
- The supported client authentication methods.
-
setSupportedTokenAuthMethods
public Service setSupportedTokenAuthMethods(ClientAuthMethod[] methods)
Set the number of client authentication methods at the token endpoint.- Parameters:
methods- The supported client authentication methods.- Returns:
thisobject.
-
getSupportedDisplays
public Display[] getSupportedDisplays()
Get the supported values ofdisplayparameter passed to the authorization endpoint.- Returns:
- The supported values of
displayparameter.
-
setSupportedDisplays
public Service setSupportedDisplays(Display[] displays)
Set the supported values ofdisplayparameter passed to the authorization endpoint.- Parameters:
displays- The supported values ofdisplayparameter.- Returns:
thisobject.
-
getSupportedClaimTypes
public ClaimType[] getSupportedClaimTypes()
Get the supported claim types.- Returns:
- The supported claim types.
-
setSupportedClaimTypes
public Service setSupportedClaimTypes(ClaimType[] claimTypes)
Set the supported claim types.- Parameters:
claimTypes- The supported claim types.- Returns:
thisobject.
-
getSupportedClaims
public String[] getSupportedClaims()
Get the supported claims.- Returns:
- The supported claims.
-
setSupportedClaims
public Service setSupportedClaims(String[] supportedClaims)
Set the supported claims.- Parameters:
supportedClaims- The supported claims.- Returns:
thisobject.
-
getServiceDocumentation
public URI getServiceDocumentation()
Get the URI of a page containing human-readable information that developers might want or need to know when using this OpenID Provider.- Returns:
- The URI of the service documentation.
-
setServiceDocumentation
public Service setServiceDocumentation(URI uri)
Set the URI of a page containing human-readable information that developers might want or need to know when using this OpenID Provider.- Parameters:
uri- The URI of the service documentation.- Returns:
thisobject.
-
getSupportedClaimLocales
public String[] getSupportedClaimLocales()
Get the supported claim locales.- Returns:
- The supported claim locales.
-
setSupportedClaimLocales
public Service setSupportedClaimLocales(String[] supportedClaimLocales)
Set the supported claim locales.- Parameters:
supportedClaimLocales- The supported claim locales.- Returns:
thisobject.
-
getSupportedUiLocales
public String[] getSupportedUiLocales()
Get the supported UI locales.- Returns:
- The supported UI locales.
-
setSupportedUiLocales
public Service setSupportedUiLocales(String[] supportedUiLocales)
Set the supported UI locales.- Parameters:
supportedUiLocales- The supported UI locales.- Returns:
thisobject.
-
getPolicyUri
public URI getPolicyUri()
Get the URI that this OpenID Provider provides to the person registering the client to read about the OP's requirements on how the Relying Party can use the data provided by the OP.- Returns:
- The URI of the policy page.
-
setPolicyUri
public Service setPolicyUri(URI uri)
Set the URI that this OpenID Provider provides to the person registering the client to read about the OP's requirements on how the Relying Party can use the data provided by the OP.- Parameters:
uri- The URI of the policy page.- Returns:
thisobject.
-
getTosUri
public URI getTosUri()
Get the URI that the OpenID Provider provides to the person registering the client to read about the OP's terms of service.- Returns:
- The URI of the Terms-of-Service page.
-
setTosUri
public Service setTosUri(URI uri)
Set the URI that the OpenID Provider provides to the person registering the client to read about the OP's terms of service.- Parameters:
uri- The URI of the Terms-of-Service page.- Returns:
thisobject.
-
getDescription
public String getDescription()
Get the description.- Returns:
- The description.
-
setDescription
public Service setDescription(String description)
Set the description.- Parameters:
description- The description.- Returns:
thisobject.
-
getAccessTokenType
public String getAccessTokenType()
Get the access token type; the value oftoken_typein access token responses.- Returns:
- The access token type.
- See Also:
- RFC 6749 (OAuth 2.0), 7.1. Access Token Types, RFC 6749 (OAuth 2.0), 5.1. Successful Response, RFC 6750 (OAuth 2.0 Bearer Token Usage)
-
setAccessTokenType
public Service setAccessTokenType(String type)
Set the access token type; the value oftoken_typein access token responses.- Parameters:
type- The access token type.- Returns:
thisobject.- See Also:
- RFC 6749 (OAuth 2.0), 7.1. Access Token Types, RFC 6749 (OAuth 2.0), 5.1. Successful Response, RFC 6750 (OAuth 2.0 Bearer Token Usage)
-
getAccessTokenSignAlg
public JWSAlg getAccessTokenSignAlg()
Get the signature algorithm of access tokens.When this method returns null, access tokens issued by this service are just random strings. On the other hand, when this method returns a non-null value, access tokens issued by this service are JWTs and the value returned from this method represents the signature algorithm of the JWTs. Regarding the format, see the description of this
Serviceclass.This feature is available since Authlete 2.1. Access tokens generated by older Authlete versions are always random strings.
- Returns:
- The signature algorithm of JWT-based access tokens. When null is returned, access tokens are not JWTs but just random strings.
- Since:
- 2.37
-
setAccessTokenSignAlg
public Service setAccessTokenSignAlg(JWSAlg alg)
Set the signature algorithm of access tokens.When null is set, access tokens issued by this service are just random strings. On the other hand, when a non-null value is set, access tokens issued by this service are JWTs and the value set by this method is used as the signature algorithm of the JWTs. Regarding the format, see the description of this
Serviceclass.This feature is available since Authlete 2.1. Access tokens generated by older Authlete versions are always random strings.
-
getAccessTokenDuration
public long getAccessTokenDuration()
Get the duration of access tokens in seconds; the value ofexpires_inin access token responses.- Returns:
- The duration of access tokens in seconds.
- See Also:
- RFC 6749 (OAuth 2.0), 5.1. Successful Response
-
setAccessTokenDuration
public Service setAccessTokenDuration(long duration)
Set the duration of access tokens in seconds; the value ofexpires_inin access token responses.- Parameters:
duration- The duration of access tokens in seconds.- Returns:
thisobject.- See Also:
- RFC 6749 (OAuth 2.0), 5.1. Successful Response
-
getRefreshTokenDuration
public long getRefreshTokenDuration()
Get the duration of refresh tokens in seconds.- Returns:
- The duration of refresh tokens in seconds.
-
setRefreshTokenDuration
public Service setRefreshTokenDuration(long duration)
Set the duration of refresh tokens in seconds.- Parameters:
duration- The duration of refresh tokens in seconds.- Returns:
thisobject.
-
getIdTokenDuration
public long getIdTokenDuration()
Get the duration of ID tokens in seconds.- Returns:
- The duration of ID tokens in seconds.
-
setIdTokenDuration
public Service setIdTokenDuration(long duration)
Set the duration of ID tokens in seconds.- Parameters:
duration- The duration of ID tokens in seconds.- Returns:
thisobject.
-
getAuthorizationResponseDuration
public long getAuthorizationResponseDuration()
Get the duration of authorization response JWTs.Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM) defines new values for the
response_moderequest parameter. They arequery.jwt,fragment.jwt,form_post.jwtandjwt. If one of them is specified as the response mode, response parameters from the authorization endpoint will be packed into a JWT. This property is used to compute the value of theexpclaim of the JWT.- Returns:
- The duration of authorization response JWTs in seconds.
- Since:
- 2.28
-
setAuthorizationResponseDuration
public Service setAuthorizationResponseDuration(long duration)
Set the duration of authorization response JWTs.Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM) defines new values for the
response_moderequest parameter. They arequery.jwt,fragment.jwt,form_post.jwtandjwt. If one of them is specified as the response mode, response parameters from the authorization endpoint will be packed into a JWT. This property is used to compute the value of theexpclaim of the JWT.- Parameters:
duration- The duration of authorization response JWTs in seconds.- Returns:
thisobject.- Since:
- 2.28
-
getPushedAuthReqDuration
public long getPushedAuthReqDuration()
Get the duration of pushed authorization requests."OAuth 2.0 Pushed Authorization Requests" defines an endpoint (called "pushed authorization request endpoint") which client applications can register authorization requests into and get corresponding URIs (called "request URIs") from. The issued URIs represent the registered authorization requests. The client applications can use the URIs as the value of the
request_urirequest parameter in an authorization request.The value returned from this method represents the duration of registered authorization requests and is used as the value of the
expires_inparameter in responses from the pushed authorization request endpoint.- Returns:
- The duration of pushed authorization requests in seconds.
- Since:
- 2.51
-
setPushedAuthReqDuration
public Service setPushedAuthReqDuration(long duration)
Set the duration of pushed authorization requests."OAuth 2.0 Pushed Authorization Requests" defines an endpoint (called "pushed authorization request endpoint") which client applications can register authorization requests into and get corresponding URIs (called "request URIs") from. The issued URIs represent the registered authorization requests. The client applications can use the URIs as the value of the
request_urirequest parameter in an authorization request.The value given to this method represents the duration of registered authorization requests and is used as the value of the
expires_inparameter in responses from the pushed authorization request endpoint.- Parameters:
duration- The duration of pushed authorization requests.- Returns:
thisobject.- Since:
- 2.51
-
getAuthenticationCallbackEndpoint
public URI getAuthenticationCallbackEndpoint()
Get the URI of the authentication callback endpoint.- Returns:
- The URI of the authentication callback endpoint.
- Since:
- 1.1
-
setAuthenticationCallbackEndpoint
public Service setAuthenticationCallbackEndpoint(URI endpoint)
Set the URI of the authentication callback endpoint.- Parameters:
endpoint- The URI of the authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.1
-
getAuthenticationCallbackApiKey
public String getAuthenticationCallbackApiKey()
Get the API key to access the authentication callback endpoint.- Returns:
- The API key to access the authentication callback endpoint.
- Since:
- 1.1
-
setAuthenticationCallbackApiKey
public Service setAuthenticationCallbackApiKey(String apiKey)
Set the API key to access the authentication callback endpoint.- Parameters:
apiKey- The API key to access the authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.1
-
getAuthenticationCallbackApiSecret
public String getAuthenticationCallbackApiSecret()
Get the API secret to access the authentication callback endpoint.- Returns:
- The API secret to access the authentication callback endpoint.
- Since:
- 1.1
-
setAuthenticationCallbackApiSecret
public Service setAuthenticationCallbackApiSecret(String apiSecret)
Set the API secret to access the authentication callback endpoint.- Parameters:
apiSecret- The API secret to access the authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.1
-
getSupportedSnses
public Sns[] getSupportedSnses()
Get the list of supported SNSes for social login at the authorization endpoint.- Returns:
- The list of SNSes.
- Since:
- 1.3
-
setSupportedSnses
public Service setSupportedSnses(Sns[] supportedSnses)
Set the list of supported SNSes for social login at the authorization endpoint.- Parameters:
supportedSnses- The list of SNSes.- Returns:
thisobject.- Since:
- 1.3
-
getSnsCredentials
public SnsCredentials[] getSnsCredentials()
Get the list of SNS credentials that Authlete uses to support social login.- Returns:
- The list of SNS credentials.
- Since:
- 1.3
-
setSnsCredentials
public Service setSnsCredentials(SnsCredentials[] snsCredentials)
Set the list of SNS credentials that Authlete uses to support social login.- Parameters:
snsCredentials- The list of SNS credentials.- Returns:
thisobject.- Since:
- 1.3
-
getCreatedAt
public long getCreatedAt()
Get the time at which this service was created.- Returns:
- The time at which this service was created. The value is represented as milliseconds since the UNIX epoch (1970-01-01).
- Since:
- 1.6
-
setCreatedAt
public Service setCreatedAt(long createdAt)
Set the time at which this service was created.- Parameters:
createdAt- The time at which this service was created.- Returns:
thisobject.- Since:
- 1.6
-
getModifiedAt
public long getModifiedAt()
Get the time at which this service was last modified.- Returns:
- The time at which this service was last modified. The value is represented as milliseconds since the UNIX epoch (1970-01-01).
- Since:
- 1.6
-
setModifiedAt
public Service setModifiedAt(long modifiedAt)
Set the time at which this service was last modified.- Parameters:
modifiedAt- The time at which this service was modified.- Returns:
thisobject.- Since:
- 1.6
-
getMetadata
public Pair[] getMetadata()
Get metadata.The content of the returned array depends on contexts.
Predefined Service Metadata Key Description "clientCount"The number of client applications which belong to this service. - Returns:
- Metadata. The type is an array of
Pair. - Since:
- 1.39
-
setMetadata
public Service setMetadata(Pair[] metadata)
Set metadata.- Parameters:
metadata- Metadata. The type is an array ofPair.nullmay be returned.- Returns:
thisobject.- Since:
- 1.39
-
getDeveloperAuthenticationCallbackEndpoint
public URI getDeveloperAuthenticationCallbackEndpoint()
Get the URI of the developer authentication callback endpoint.- Returns:
- The URI of the developer authentication callback endpoint.
- Since:
- 1.9
-
setDeveloperAuthenticationCallbackEndpoint
public Service setDeveloperAuthenticationCallbackEndpoint(URI endpoint)
Set the URI of the developer authentication callback endpoint.- Parameters:
endpoint- The URI of the developer authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.9
-
getDeveloperAuthenticationCallbackApiKey
public String getDeveloperAuthenticationCallbackApiKey()
Get the API key to access the developer authentication callback endpoint.- Returns:
- The API key to access the developer authentication callback endpoint.
- Since:
- 1.9
-
setDeveloperAuthenticationCallbackApiKey
public Service setDeveloperAuthenticationCallbackApiKey(String apiKey)
Set the API key to access the developer authentication callback endpoint.- Parameters:
apiKey- The API key to access the developer authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.9
-
getDeveloperAuthenticationCallbackApiSecret
public String getDeveloperAuthenticationCallbackApiSecret()
Get the API secret to access the developer authentication callback endpoint.- Returns:
- The API secret to access the developer authentication callback endpoint.
- Since:
- 1.9
-
setDeveloperAuthenticationCallbackApiSecret
public Service setDeveloperAuthenticationCallbackApiSecret(String apiSecret)
Set the API secret to access the developer authentication callback endpoint.- Parameters:
apiSecret- The API secret to access the developer authentication callback endpoint.- Returns:
thisobject.- Since:
- 1.9
-
getSupportedDeveloperSnses
public Sns[] getSupportedDeveloperSnses()
Get the list of supported SNSes for social login at the developer console.- Returns:
- The list of SNSes.
- Since:
- 1.10
-
setSupportedDeveloperSnses
public Service setSupportedDeveloperSnses(Sns[] supportedSnses)
Set the list of supported SNSes for social login at the developer console.- Parameters:
supportedSnses- The list of SNSes.- Returns:
thisobject.- Since:
- 1.10
-
getDeveloperSnsCredentials
public SnsCredentials[] getDeveloperSnsCredentials()
Get the list of SNS credentials that Authlete uses to support social login at the developer console.- Returns:
- The list of SNS credentials.
- Since:
- 1.10
-
setDeveloperSnsCredentials
public Service setDeveloperSnsCredentials(SnsCredentials[] snsCredentials)
Set the list of SNS credentials that Authlete uses to support social login at the developer console.- Parameters:
snsCredentials- The list of SNS credentials.- Returns:
thisobject.- Since:
- 1.10
-
getClientsPerDeveloper
public int getClientsPerDeveloper()
Get the number of client applications that one developer can create. 0 means that developers can create as many client applications as they want.- Returns:
- The number of client applications that one developer can create. 0 means no limit.
- Since:
- 1.16
-
setClientsPerDeveloper
public Service setClientsPerDeveloper(int count)
Set the number of client applications that one developer can create. 0 means that developers can create as many client applications as they want.- Parameters:
count- The number of client applications that one developer can create. 0 means no limit.- Returns:
thisobject.- Since:
- 1.16
-
isDirectAuthorizationEndpointEnabled
public boolean isDirectAuthorizationEndpointEnabled()
Get the flag which indicates whether the direct authorization endpoint is enabled or not. The path of the endpoint is/api/auth/authorization/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.16
-
setDirectAuthorizationEndpointEnabled
public Service setDirectAuthorizationEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct authorization endpoint is enabled or not. The path of the endpoint is/api/auth/authorization/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.16
-
isDirectTokenEndpointEnabled
public boolean isDirectTokenEndpointEnabled()
Get the flag which indicates whether the direct token endpoint is enabled or not. The path of the endpoint is/api/auth/token/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.16
-
setDirectTokenEndpointEnabled
public Service setDirectTokenEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct token endpoint is enabled or not. The path of the endpoint is/api/auth/token/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.16
-
isDirectRevocationEndpointEnabled
public boolean isDirectRevocationEndpointEnabled()
Get the flag which indicates whether the direct revocation endpoint is enabled or not. The path of the endpoint is/api/auth/revocation/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.16
-
setDirectRevocationEndpointEnabled
public Service setDirectRevocationEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct revocation endpoint is enabled or not. The path of the endpoint is/api/auth/revocation/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.16
-
isDirectUserInfoEndpointEnabled
public boolean isDirectUserInfoEndpointEnabled()
Get the flag which indicates whether the direct userinfo endpoint is enabled or not. The path of the endpoint is/api/auth/userinfo/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.16
-
setDirectUserInfoEndpointEnabled
public Service setDirectUserInfoEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct userinfo endpoint is enabled or not. The path of the endpoint is/api/auth/userinfo/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.16
-
isDirectJwksEndpointEnabled
public boolean isDirectJwksEndpointEnabled()
Get the flag which indicates whether the direct jwks endpoint is enabled or not. The path of the endpoint is/api/service/jwks/get/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.16
-
setDirectJwksEndpointEnabled
public Service setDirectJwksEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct jwks endpoint is enabled or not. The path of the endpoint is/api/service/jwks/get/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.16
-
isDirectIntrospectionEndpointEnabled
public boolean isDirectIntrospectionEndpointEnabled()
Get the flag which indicates whether the direct introspection endpoint is enabled or not. The path of the endpoint is/api/auth/introspection/direct/{serviceApiKey}- Returns:
trueif enabled.- Since:
- 1.39
-
setDirectIntrospectionEndpointEnabled
public Service setDirectIntrospectionEndpointEnabled(boolean enabled)
Set the flag which indicates whether the direct introspection endpoint is enabled or not. The path of the endpoint is/api/auth/introspection/direct/{serviceApiKey}- Parameters:
enabled-trueto enable the direct endpoint.- Returns:
thisobject.- Since:
- 1.39
-
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 the target client istrue. The property ofClientis recognized by Authlete 2.3 onwards. (cf.Client.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:
- 1.20
- See Also:
Client.isSingleAccessTokenPerSubject()
-
setSingleAccessTokenPerSubject
public Service 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 the target client istrue. The property ofClientis recognized by Authlete 2.3 onwards. (cf.Client.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:
- 1.20
- See Also:
Client.setSingleAccessTokenPerSubject(boolean)
-
isPkceRequired
public boolean isPkceRequired()
Get the flag which indicates whether the use of Proof Key for Code Exchange (PKCE) is always required for authorization requests by Authorization Code Flow. See RFC 7636 (Proof Key for Code Exchange by OAuth Public Clients) for details.- Returns:
trueif PKCE is always required for authorization requests by Authorization Code Flow.- Since:
- 1.21
- See Also:
- RFC 7636
-
setPkceRequired
public Service setPkceRequired(boolean required)
Set the flag which indicates whether the use of Proof Key for Code Exchange (PKCE) is always required for authorization requests by Authorization Code Flow. See RFC 7636 (Proof Key for Code Exchange by OAuth Public Clients for details.- Parameters:
required-trueto always require PKCE for authorization requests by Authorization Code Flow.- Returns:
thisobject.- Since:
- 1.21
-
isPkceS256Required
public boolean isPkceS256Required()
Get the flag which indicates whetherS256is always required as the code challenge method whenever PKCE (RFC 7636) is used.If this flag is
true,code_challenge_method=S256must be included in the authorization request whenever it includes thecode_challengerequest parameter. Neither omission of thecode_challenge_methodrequest parameter nor use ofplain(code_challenge_method=plain) is allowed.- Returns:
trueifS256is always required as the code challenge method whenever PKCE is used.- Since:
- 2.46
- See Also:
- RFC 7636
-
setPkceS256Required
public Service setPkceS256Required(boolean required)
Set the flag which indicates whetherS256is always required as the code challenge method whenever PKCE (RFC 7636) is used.If
trueis set,code_challenge_method=S256must be included in the authorization request whenever it includes thecode_challengerequest parameter. Neither omission of thecode_challenge_methodrequest parameter nor use ofplain(code_challenge_method=plain) is allowed.- Parameters:
required-trueto requireS256as the code challenge method whenever PKCE is used.- Returns:
thisobject.- Since:
- 2.46
- See Also:
- RFC 7636
-
isRefreshTokenKept
public boolean isRefreshTokenKept()
Get the flag which indicates whether a refresh token remains valid or gets renewed after its use.- Returns:
trueif a refresh token remains valid after its use.falseif a new refresh token is issued after its use.- Since:
- 1.33
-
setRefreshTokenKept
public Service setRefreshTokenKept(boolean kept)
Set the flag which indicates whether a refresh token remains valid or gets renewed after its use.- Parameters:
kept-trueto keep a refresh token valid after its use.falseto renew a refresh token after its use.- Returns:
thisobject.- Since:
- 1.33
-
isRefreshTokenDurationKept
public boolean isRefreshTokenDurationKept()
Get the flag which indicates whether the remaining duration of the used refresh token is taken over to the newly issued refresh token.- Returns:
trueif the remaining duration of the used refresh token is taken over to the newly issued refresh token.- Since:
- 2.78
-
setRefreshTokenDurationKept
public Service setRefreshTokenDurationKept(boolean kept)
Set the flag which indicates whether the remaining duration of the used refresh token is taken over to the newly issued refresh token.- Parameters:
kept-trueto indicate that the remaining duration of the used refresh token is taken over to the newly issued refresh token.- Returns:
thisobject.
-
isRefreshTokenDurationReset
public boolean isRefreshTokenDurationReset()
Get the flag which indicates whether duration of refresh tokens are reset when they are used even if therefreshTokenKeptproperty of this service (cf.isRefreshTokenKept()) is true (= even if "Refresh Token Continuous Use" is "Kept").This flag has no effect when the
refreshTokenKeptproperty isfalse. In other words, if this service issues a new refresh token on every refresh token request, the refresh token will have fresh duration (unlessrefreshTokenDurationKeptis true) and thisrefreshTokenDurationResetproperty is not referenced.- Returns:
trueif duration of refresh tokens are reset when they are used.- Since:
- 2.98
-
setRefreshTokenDurationReset
public Service setRefreshTokenDurationReset(boolean reset)
Set the flag which indicates whether duration of refresh tokens are reset when they are used even if therefreshTokenKeptproperty of this service (cf.isRefreshTokenKept()) is true (= even if "Refresh Token Continuous Use" is "Kept").This flag has no effect when the
refreshTokenKeptproperty isfalse. In other words, if this service issues a new refresh token on every refresh token request, the refresh token will have fresh duration (unlessrefreshTokenDurationKeptis true) and thisrefreshTokenDurationResetproperty is not referenced.- Parameters:
reset-trueto reset duration of refresh tokens when they are used.- Returns:
thisobject.- Since:
- 2.98
-
isErrorDescriptionOmitted
public boolean isErrorDescriptionOmitted()
Get the flag which indicates whether theerror_descriptionresponse parameter is omitted.According to RFC 6749, authorization servers may include the
error_descriptionresponse parameter in error responses. When thiserrorDescriptionOmittedproperty istrue, Authlete does not embed theerror_descriptionresponse parameter in error responses.- Returns:
trueif theerror_descriptionresponse parameter is omitted.falseif theerror_descriptionresponse parameter is included in error responses from the authorization server.- Since:
- 1.39
-
setErrorDescriptionOmitted
public Service setErrorDescriptionOmitted(boolean omitted)
Omit or embed theerror_descriptionresponse parameter in error responses.- Parameters:
omitted-trueto omit theerror_descriptionresponse parameter.falseto embed the parameter.- Returns:
thisobject.- Since:
- 1.39
-
isErrorUriOmitted
public boolean isErrorUriOmitted()
Get the flag which indicates whether theerror_uriresponse parameter is omitted.According to RFC 6749, authorization servers may include the
error_uriresponse parameter in error responses. When thiserrorUriOmittedproperty istrue, Authlete does not embed theerror_uriresponse parameter in error responses.- Returns:
trueif theerror_uriresponse parameter is omitted.falseif theerror_uriresponse parameter is included in error responses from the authorization server.- Since:
- 1.39
-
setErrorUriOmitted
public Service setErrorUriOmitted(boolean omitted)
Omit or embed theerror_uriresponse parameter in error responses.- Parameters:
omitted-trueto omit theerror_uriresponse parameter.falseto embed the parameter.- Returns:
thisobject.- Since:
- 1.39
-
isClientIdAliasEnabled
public boolean isClientIdAliasEnabled()
Get the flag which indicates whether the 'Client ID Alias' feature is enabled or not.- Returns:
trueif the 'Client ID Alias' feature is enabled.falseif the feature is disabled.- Since:
- 2.2
-
setClientIdAliasEnabled
public Service setClientIdAliasEnabled(boolean enabled)
Enable/disable the 'Client ID Alias' feature.When a new client is created, Authlete generates a numeric value and assigns it as a client ID to the newly created client. In addition to the client ID, each client can have a client ID alias. The client ID alias is, however, recognized only when this property (
clientIdAliasEnabled) istrue.- Parameters:
enabled-trueto enable the 'Client ID Alias' feature.falseto disable it.- Returns:
thisobject.- Since:
- 2.2
-
getAccessTokenSignatureKeyId
public String getAccessTokenSignatureKeyId()
Get the key ID to identify a JWK used for signing access tokens.A JWK Set can be registered as a property of a Service. A JWK Set can contain 0 or more JWKs (See RFC 7517 for details about JWK). Authlete Server has to pick up one JWK for signing from the JWK Set when it generates a JWT-based access token (see
getAccessTokenSignAlg()for details about JWT-based access token). Authlete Server searches the registered JWK Set for a JWK which satisfies conditions for access token signature. If the number of JWK candidates which satisfy the conditions is 1, there is no problem. On the other hand, if there exist multiple candidates, a Key ID is needed to be specified so that Authlete Server can pick up one JWK from among the JWK candidates.This
accessTokenSignatureKeyIdproperty exists for the purpose described above.- Returns:
- A key ID of a JWK. This may be
null. - Since:
- 2.37
-
setAccessTokenSignatureKeyId
public Service setAccessTokenSignatureKeyId(String keyId)
Set the key ID to identify a JWK used for signing access tokens.See the description of
getAccessTokenSignatureKeyId()for details.- Parameters:
keyId- A key ID of a JWK. This may benull.- Returns:
thisobject.- Since:
- 2.37
-
getAuthorizationSignatureKeyId
public String getAuthorizationSignatureKeyId()
Get the key ID to identify a JWK used for signing authorization responses using an asymmetric key.Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM) has added new values for the
response_moderequest parameter. They arequery.jwt,fragment.jwt,form_post.jwtandjwt. If one of them is used, response parameters returned from the authorization endpoint will be packed into a JWT. The JWT is always signed. For the signature of the JWT, Authlete Server has to pick up one JWK from the service's JWK Set.Authlete Server searches the JWK Set for a JWK which satisfies conditions for authorization response signature. If the number of JWK candidates which satisfy the conditions is 1, there is no problem. On the other hand, if there exist multiple candidates, a Key ID is needed to be specified so that Authlete Server can pick up one JWK from among the JWK candidates. This property exists to specify the key ID.
- Returns:
- A key ID of a JWK. This may be
null. - Since:
- 2.28
-
setAuthorizationSignatureKeyId
public Service setAuthorizationSignatureKeyId(String keyId)
Set the key ID to identify a JWK used for signing authorization responses using an asymmetric key.See the description of
getAuthorizationSignatureKeyId()for details.- Parameters:
keyId- A key ID of a JWK. This may benull.- Returns:
thisobject.- Since:
- 2.28
-
getIdTokenSignatureKeyId
public String getIdTokenSignatureKeyId()
Get the key ID to identify a JWK used for ID token signature using an asymmetric key.A JWK Set can be registered as a property of a Service. A JWK Set can contain 0 or more JWKs (See RFC 7517 for details about JWK). Authlete Server has to pick up one JWK for signature from the JWK Set when it generates an ID token and signature using an asymmetric key. Authlete Server searches the registered JWK Set for a JWK which satisfies conditions for ID token signature. If the number of JWK candidates which satisfy the conditions is 1, there is no problem. On the other hand, if there exist multiple candidates, a Key ID is needed to be specified so that Authlete Server can pick up one JWK from among the JWK candidates.
This
idTokenSignatureKeyIdproperty exists for the purpose described above. For key rotation (OpenID Connect Core 1.0, 10.1.1. Rotation of Asymmetric Signing Keys), this mechanism is needed.- Returns:
- A key ID of a JWK. This may be
null. - Since:
- 2.1
-
setIdTokenSignatureKeyId
public Service setIdTokenSignatureKeyId(String keyId)
Set the key ID to identify a JWK used for ID token signature using an asymmetric key.See the description of
getIdTokenSignatureKeyId()for details.- Parameters:
keyId- A key ID of a JWK. This may benull.- Returns:
thisobject.- Since:
- 2.1
-
getUserInfoSignatureKeyId
public String getUserInfoSignatureKeyId()
Get the key ID to identify a JWK used for user info signature using an asymmetric key.A JWK Set can be registered as a property of a Service. A JWK Set can contain 0 or more JWKs (See RFC 7517 for details about JWK). Authlete Server has to pick up one JWK for signature from the JWK Set when it is required to sign user info (which is returned from UserInfo Endpoint) using an asymmetric key. Authlete Server searches the registered JWK Set for a JWK which satisfies conditions for user info signature. If the number of JWK candidates which satisfy the conditions is 1, there is no problem. On the other hand, if there exist multiple candidates, a Key ID is needed to be specified so that Authlete Server can pick up one JWK from among the JWK candidates.
This
userInfoSignatureKeyIdproperty exists for the purpose described above. For key rotation (OpenID Connect Core 1.0, 10.1.1. Rotation of Asymmetric Signing Keys), this mechanism is needed.- Returns:
- A key ID of a JWK. This may be
null. - Since:
- 2.1
-
setUserInfoSignatureKeyId
public Service setUserInfoSignatureKeyId(String keyId)
Set the key ID to identify a JWK used for user info signature using an asymmetric key.See the description of
getUserInfoSignatureKeyId()for details.- Parameters:
keyId- A key ID of a JWK. This may benull.- Returns:
thisobject.- Since:
- 2.1
-
getSupportedServiceProfiles
public ServiceProfile[] getSupportedServiceProfiles()
Get the supported service profiles.- Returns:
- Supported service profiles.
- Since:
- 2.12
-
setSupportedServiceProfiles
public Service setSupportedServiceProfiles(ServiceProfile[] profiles)
Set the supported service profiles.- Parameters:
profiles- Supported service profiles.- Returns:
thisobject.- Since:
- 2.12
-
setSupportedServiceProfiles
public Service setSupportedServiceProfiles(Iterable<ServiceProfile> profiles)
Set the supported service profiles.- Parameters:
profiles- Supported service profiles.- Returns:
thisobject.- Since:
- 2.12
-
supports
public boolean supports(ServiceProfile profile)
Check if this service supports the specified profile. Ifnullis given,falseis returned. If the supported service profiles are not set to this service,falseis returned.- Parameters:
profile- A service profile.- Returns:
trueif this service supports the service profile.- Since:
- 2.12
-
supportsAll
public boolean supportsAll(ServiceProfile... profiles)
Check if this service supports all the specified service profiles. Ifnullis given,trueis returned. If an empty array is given,trueis returned.- Parameters:
profiles- Service profiles.- Returns:
trueif this service supports all the specified service profiles.- Since:
- 2.12
-
supportsAll
public boolean supportsAll(Iterable<ServiceProfile> profiles)
Check if this service supports all the specified service profiles. Ifnullis given,trueis returned. If an empty collection is given,trueis returned.- Parameters:
profiles- Service profiles.- Returns:
trueif this service supports all the specified service profiles.- Since:
- 2.12
-
supportsAny
public boolean supportsAny(ServiceProfile... profiles)
Check if this service any of the specified service profiles. Ifnullis given,falseis returned. If an empty array is given,falseis returned.- Parameters:
profiles- Service profiles.- Returns:
trueif this service supports any of the specified service profiles.- Since:
- 2.12
-
supportsAny
public boolean supportsAny(Iterable<ServiceProfile> profiles)
Check if this service any of the specified service profiles. Ifnullis given,falseis returned. If an empty collection is given,falseis returned.- Parameters:
profiles- Service profiles.- Returns:
trueif this service supports any of the specified service profiles.- Since:
- 2.12
-
isTlsClientCertificateBoundAccessTokens
public boolean isTlsClientCertificateBoundAccessTokens()
Does this service support issuing TLS client certificate bound access tokens?- Returns:
trueif this service supports issuing TLS client certificate bound access tokens.- Since:
- 2.19
-
setTlsClientCertificateBoundAccessTokens
public Service setTlsClientCertificateBoundAccessTokens(boolean enabled)
Enable or disable support for TLS client certificate bound access tokens.- Parameters:
enabled-trueto enable TLS client certificate bound access tokens.- Returns:
thisobject.- Since:
- 2.19
-
getIntrospectionEndpoint
public URI getIntrospectionEndpoint()
Get the URI of the introspection endpoint.- Returns:
- The URI of the introspection endpoint.
- Since:
- 2.13
- See Also:
- RFC 7662: OAuth 2.0 Token Introspection
-
setIntrospectionEndpoint
public Service setIntrospectionEndpoint(URI endpoint)
Set the URI of the introspection endpoint.- Parameters:
endpoint- The URI of the introspection endpoint.- Returns:
thisobject.- Since:
- 2.13
- See Also:
- RFC 7662: OAuth 2.0 Token Introspection
-
getSupportedIntrospectionAuthMethods
public ClientAuthMethod[] getSupportedIntrospectionAuthMethods()
Get client authentication methods supported at the introspection endpoint.- Returns:
- Client authentication methods supported at the introspection endpoint.
- Since:
- 2.13
-
setSupportedIntrospectionAuthMethods
public Service setSupportedIntrospectionAuthMethods(ClientAuthMethod[] methods)
Set client authentication methods supported at the introspection endpoint.- Parameters:
methods- Client authentication methods.- Returns:
thisobject.- Since:
- 2.13
-
isMutualTlsValidatePkiCertChain
public boolean isMutualTlsValidatePkiCertChain()
Determine whether this service validates certificate chains during PKI-based client mutual TLS authentication.- Returns:
trueif this service requires clients using PKI MTLS to present their certificate chain to the API during authentication,falseotherwise.- Since:
- 2.15
-
setMutualTlsValidatePkiCertChain
public Service setMutualTlsValidatePkiCertChain(boolean mutualTlsValidatePkiCertChain)
Set whether this service validates certificate chains during PKI-based client mutual TLS authentication.- Parameters:
mutualTlsValidatePkiCertChain-trueif this service requires clients using PKI MTLS to present their certificate chain to the API during authentication,falseotherwise.- Returns:
thisobject.- Since:
- 2.15
-
getTrustedRootCertificates
public String[] getTrustedRootCertificates()
Get the list of root certificates trusted by this service for PKI-based client mutual TLS authentication.- Returns:
- The list of root certificates trusted by this service in PEM format.
- Since:
- 2.15
-
setTrustedRootCertificates
public Service setTrustedRootCertificates(String[] trustedRootCertificates)
Get the list of root certificates trusted by this service for PKI-based client mutual TLS authentication.- Parameters:
trustedRootCertificates- The list of root certificates trusted by this service in PEM format.- Returns:
thisobject.- Since:
- 2.15
-
getSupportedBackchannelTokenDeliveryModes
public DeliveryMode[] getSupportedBackchannelTokenDeliveryModes()
Get the supported backchannel token delivery modes. This property corresponds to thebackchannel_token_delivery_modes_supportedmetadata.Backchannel token delivery modes are defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Returns:
- Supported backchannel token delivery modes.
- Since:
- 2.32
-
setSupportedBackchannelTokenDeliveryModes
public Service setSupportedBackchannelTokenDeliveryModes(DeliveryMode[] modes)
Get the supported backchannel token delivery modes. This property corresponds to thebackchannel_token_delivery_modes_supportedmetadata.Backchannel token delivery modes are defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Parameters:
modes- Supported backchannel token delivery modes.- Returns:
thisobject.- Since:
- 2.32
-
getBackchannelAuthenticationEndpoint
public URI getBackchannelAuthenticationEndpoint()
Get the URI of the backchannel authentication endpoint.Backchannel authentication endpoint is defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Returns:
- The URI of the backchannel authentication endpoint.
- Since:
- 2.32
-
setBackchannelAuthenticationEndpoint
public Service setBackchannelAuthenticationEndpoint(URI endpoint)
Set the URI of the backchannel authentication endpoint.Backchannel authentication endpoint is defined in the specification of CIBA (Client Initiated Backchannel Authentication).
- Parameters:
endpoint- The URI of the backchannel authentication endpoint.- Returns:
thisobject.- Since:
- 2.32
-
isBackchannelUserCodeParameterSupported
public boolean isBackchannelUserCodeParameterSupported()
Get the boolean flag which indicates whether the"user_code"request parameter is supported at the backchannel authentication endpoint. This property corresponds to thebackchannel_user_code_parameter_supportedmetadata.- Returns:
trueif the"user_code"request parameter is supported at the backchannel authentication endpoint.- Since:
- 2.32
-
setBackchannelUserCodeParameterSupported
public Service setBackchannelUserCodeParameterSupported(boolean supported)
Set the boolean flag which indicates whether the"user_code"request parameter is supported at the backchannel authentication endpoint. This property corresponds to thebackchannel_user_code_parameter_supportedmetadata.- Parameters:
supported-trueto indicate that the"user_code"request parameter is supported.- Returns:
thisobject.- Since:
- 2.32
-
getBackchannelAuthReqIdDuration
public int getBackchannelAuthReqIdDuration()
Get the duration of backchannel authentication request IDs issued from the backchannel authentication endpoint in seconds. This is used as the value of theexpires_inproperty in responses from the backchannel authentication endpoint.- Returns:
- The duration of backchannel authentication request IDs in seconds.
- Since:
- 2.32
-
setBackchannelAuthReqIdDuration
public Service setBackchannelAuthReqIdDuration(int duration)
Set the duration of backchannel authentication request IDs issued from the backchannel authentication endpoint in seconds. This is used as the value of theexpires_inproperty in responses from the backchannel authentication endpoint.- Parameters:
duration- The duration of backchannel authentication request IDs in seconds.- Returns:
thisobject.- Since:
- 2.32
-
getBackchannelPollingInterval
public int getBackchannelPollingInterval()
Get the minimum interval between polling requests to the token endpoint from client applications in seconds. This is used as the value of theintervalproperty in responses from the backchannel authentication endpoint.- Returns:
- The minimum interval between polling requests in seconds.
- Since:
- 2.32
-
setBackchannelPollingInterval
public Service setBackchannelPollingInterval(int interval)
Set the minimum interval between polling requests to the token endpoint from client applications in seconds. This is used as the value of theintervalproperty in responses from the backchannel authentication endpoint.- Parameters:
interval- The minimum interval between polling requests in seconds. Must be in between 0 and 65,535.- Returns:
thisobject.- Since:
- 2.32
-
isBackchannelBindingMessageRequiredInFapi
public boolean isBackchannelBindingMessageRequiredInFapi()
Get the boolean flag which indicates whether thebinding_messagerequest parameter is always required whenever a backchannel authentication request is judged as a request for Financial-grade API.- Returns:
trueif thebinding_messagerequest parameter is required whenever a backchannel authentication request is judged as a request for Financial-grade API.- Since:
- 2.48
-
setBackchannelBindingMessageRequiredInFapi
public Service setBackchannelBindingMessageRequiredInFapi(boolean required)
Set the boolean flag which indicates whether thebinding_messagerequest parameter is always required whenever a backchannel authentication request is judged as a request for Financial-grade API.The FAPI-CIBA profile requires that the authorization server "shall ensure unique authorization context exists in the authorization request or require a
binding_messagein the authorization request" (FAPI-CIBA, 5.2.2, 2). The simplest way to fulfill this requirement is to settrueto this property.If
falseis set to this property, thebinding_messagerequest parameter remains optional even in FAPI context, but in exchange, your authorization server must implement a custom mechanism that ensures each backchannel authentication request has unique context.- Parameters:
required-trueto require thebinding_messagerequest parameter whenever a backchannel authentication request is judged as a request for Financial-grade API.- Returns:
thisobject.- Since:
- 2.48
-
getAllowableClockSkew
public int getAllowableClockSkew()
Get the allowable clock skew between the server and clients in seconds.The clock skew is taken into consideration when time-related claims in a JWT (e.g.
"exp","iat","nbf") are verified.- Returns:
- Allowable clock skew in seconds.
- Since:
- 2.32
-
setAllowableClockSkew
public Service setAllowableClockSkew(int seconds)
Set the allowable clock skew between the server and clients in seconds.The clock skew is taken into consideration when time-related claims in a JWT (e.g.
"exp","iat","nbf") are verified.- Parameters:
seconds- Allowable clock skew in seconds. Must be in between 0 and 65,535.- Returns:
thisobject.- Since:
- 2.32
-
isDynamicRegistrationSupported
public boolean isDynamicRegistrationSupported()
Get the flag which indicates whether the dynamic client registration is supported.- Returns:
trueif enabled.- Since:
- 2.39
-
setDynamicRegistrationSupported
public Service setDynamicRegistrationSupported(boolean enabled)
Set the flag which indicates whether dynamic client registration is supported.- Parameters:
enabled-trueto enable dynamic client registration- Returns:
thisobject.- Since:
- 2.39
-
getDeviceAuthorizationEndpoint
public URI getDeviceAuthorizationEndpoint()
Get the URI of the device authorization endpoint.Device authorization endpoint is defined in the specification of OAuth 2.0 Device Authorization Grant.
- Returns:
- The URI of the device authorization endpoint.
- Since:
- 2.42
-
setDeviceAuthorizationEndpoint
public Service setDeviceAuthorizationEndpoint(URI endpoint)
Set the URI of the device authorization endpoint.Device authorization endpoint is defined in the specification of OAuth 2.0 Device Authorization Grant.
- Parameters:
endpoint- The URI of the device authorization endpoint.- Returns:
thisobject.- Since:
- 2.42
-
getDeviceVerificationUri
public URI getDeviceVerificationUri()
Get the verification URI for the device flow. This URI is used as the value of theverification_uriparameter in responses from the device authorization endpoint.- Returns:
- The verification URI.
- Since:
- 2.42
-
setDeviceVerificationUri
public Service setDeviceVerificationUri(URI uri)
Set the verification URI for the device flow. This URI is used as the value of theverification_uriparameter in responses from the device authorization endpoint.- Parameters:
uri- The verification URI.- Returns:
thisobject.- Since:
- 2.42
-
getDeviceVerificationUriComplete
public URI getDeviceVerificationUriComplete()
Get the verification URI for the device flow with a placeholder for a user code. This URI is used to build the value of theverification_uri_completeparameter in responses from the device authorization endpoint.- Returns:
- The verification URI with a placeholder for a user code.
- Since:
- 2.42
-
setDeviceVerificationUriComplete
public Service setDeviceVerificationUriComplete(URI uri)
Set the verification URI for the device flow with a placeholder for a user code. This URI is used to build the value of theverification_uri_completeparameter in responses from the device authorization endpoint.It is expected that the URI contains a fixed string
USER_CODEsomewhere as a placeholder for a user code. For example, like the following.https://example.com/device?user_code=USER_CODE
The fixed string is replaced with an actual user code when Authlete builds a verification URI with a user code for the
verification_uri_completeparameter.If this URI is not set, the
verification_uri_completeparameter won't appear in device authorization responses.- Parameters:
uri- The verification URI with a placeholder for a user code.- Returns:
thisobject.- Since:
- 2.42
-
getDeviceFlowCodeDuration
public int getDeviceFlowCodeDuration()
Get the duration of device verification codes and end-user verification codes issued from the device authorization endpoint in seconds. This is used as the value of theexpires_inproperty in responses from the device authorization endpoint.- Returns:
- The duration of device verification codes and end-user verification codes in seconds.
- Since:
- 2.42
-
setDeviceFlowCodeDuration
public Service setDeviceFlowCodeDuration(int duration)
Set the duration of device verification codes and end-user verification codes issued from the device authorization endpoint in seconds. This is used as the value of theexpires_inproperty in responses from the device authorization endpoint.- Parameters:
duration- The duration of device verification codes and end-user verification codes in seconds.- Returns:
thisobject.- Since:
- 2.42
-
getDeviceFlowPollingInterval
public int getDeviceFlowPollingInterval()
Get the minimum interval between polling requests to the token endpoint from client applications in seconds in device flow. This is used as the value of theintervalproperty in responses from the device authorization endpoint.- Returns:
- The minimum interval between polling requests in seconds in device flow.
- Since:
- 2.42
-
setDeviceFlowPollingInterval
public Service setDeviceFlowPollingInterval(int interval)
Set the minimum interval between polling requests to the token endpoint from client applications in seconds in device flow. This is used as the value of theintervalproperty in responses from the device authorization endpoint.- Parameters:
interval- The minimum interval between polling requests in seconds in device flow. Must be in between 0 and 65,535.- Returns:
thisobject.- Since:
- 2.42
-
getUserCodeCharset
public UserCodeCharset getUserCodeCharset()
Get the character set for end-user verification codes (user_code) for Device Flow.- Returns:
- The character set for end-user verification codes
(
user_code) for Device Flow. - Since:
- 2.43
-
setUserCodeCharset
public Service setUserCodeCharset(UserCodeCharset charset)
Set the character set for end-user verification codes (user_code) for Device Flow.- Parameters:
charset- The character set for end-user verification codes (user_code) for Device Flow.- Returns:
thisobject.- Since:
- 2.43
-
getUserCodeLength
public int getUserCodeLength()
Get the length of end-user verification codes (user_code) for Device Flow.- Returns:
- The length of end-user verification codes (
user_code) for Device Flow. - Since:
- 2.43
-
setUserCodeLength
public Service setUserCodeLength(int length)
Set the length of end-user verification codes (user_code) for Device Flow.- Parameters:
length- The length of end-user verification codes (user_code) for Device Flow. The value must not be negative and must not be larger than 255.- Returns:
thisobject.- Since:
- 2.43
-
getPushedAuthReqEndpoint
public URI getPushedAuthReqEndpoint()
Get the URI of the pushed authorization request endpoint.This property corresponds to the
pushed_authorization_request_endpointmetadata defined in "5. Authorization Server Metadata" of OAuth 2.0 Pushed Authorization Requests.- Returns:
- The URI of the pushed authorization request endpoint.
- Since:
- 2.52
- See Also:
- OAuth 2.0 Pushed Authorization Requests, 5. Authorization Server Metadata
-
setPushedAuthReqEndpoint
public Service setPushedAuthReqEndpoint(URI endpoint)
Set the URI of the pushed authorization request endpoint.This property corresponds to the
pushed_authorization_request_endpointmetadata defined in "5. Authorization Server Metadata" of OAuth 2.0 Pushed Authorization Requests.- Parameters:
endpoint- The URI of the pushed authorization request endpoint.- Returns:
thisobject.- Since:
- 2.52
- See Also:
- OAuth 2.0 Pushed Authorization Requests, 5. Authorization Server Metadata
-
getMtlsEndpointAliases
public NamedUri[] getMtlsEndpointAliases()
Get the MTLS endpoint aliases.This property corresponds to the
mtls_endpoint_aliasesmetadata defined in "5. Metadata for Mutual-TLS Endpoint Aliases" of RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens.- Returns:
- MTLS endpoint aliases.
- Since:
- 2.49
-
setMtlsEndpointAliases
public Service setMtlsEndpointAliases(NamedUri[] aliases)
Set the MTLS endpoint aliases.This property corresponds to the
mtls_endpoint_aliasesmetadata defined in "5. Metadata for Mutual-TLS Endpoint Aliases" of RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens.The aliases will be embedded in the response from the discovery endpoint like the following.
{ ......, "mtls_endpoint_aliases": { "token_endpoint": "https://mtls.example.com/token", "revocation_endpoint": "https://mtls.example.com/revo", "introspection_endpoint": "https://mtls.example.com/introspect" } }- Parameters:
aliases- MTLS endpoint aliases.- Returns:
thisobject.- Since:
- 2.49
-
getSupportedAuthorizationDetailsTypes
public String[] getSupportedAuthorizationDetailsTypes()
Get the supported authorization details types that can be used as values of the"type"field in"authorization_details".This property corresponds to the
"authorization_details_types_supported"server metadata. See "OAuth 2.0 Rich Authorization Requests" (RAR) for details.Note that the property name was renamed from
supportedAuthorizationDataTypestosupportedAuthorizationDetailsTypesto align with the change made by the 5th draft of the RAR specification.- Returns:
- Supported authorization details types.
- Since:
- 2.91
-
setSupportedAuthorizationDetailsTypes
public Service setSupportedAuthorizationDetailsTypes(String[] types)
Set the supported authorization details types that can be used as values of the"type"field in"authorization_details".This property corresponds to the
"authorization_details_types_supported"server metadata. See "OAuth 2.0 Rich Authorization Requests" (RAR) for details.Note that the property name was renamed from
supportedAuthorizationDataTypestosupportedAuthorizationDetailsTypesto align with the change made by the 5th draft of the RAR specification.- Parameters:
types- Supported authorization details types.- Returns:
thisobject.- Since:
- 2.91
-
getSupportedTrustFrameworks
public String[] getSupportedTrustFrameworks()
Get trust frameworks supported by this service. This property corresponds to thetrust_frameworks_supportedserver metadata.- Returns:
- Trust frameworks supported by this service.
- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedTrustFrameworks
public Service setSupportedTrustFrameworks(String[] frameworks)
Set trust frameworks supported by this service. This property corresponds to thetrust_frameworks_supportedserver metadata.- Parameters:
frameworks- Trust frameworks supported by this service.- Returns:
thisobject.- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedEvidence
public String[] getSupportedEvidence()
Get evidence supported by this service. This property corresponds to theevidence_supportedserver metadata.- Returns:
- Evidence supported by this service.
- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedEvidence
public Service setSupportedEvidence(String[] evidence)
Set evidence supported by this service. This property corresponds to theevidence_supportedserver metadata.- Parameters:
evidence- Evidence supported by this service.- Returns:
thisobject.- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedIdentityDocuments
@Deprecated public String[] getSupportedIdentityDocuments()
Deprecated.Get identity documents supported by this service. This property corresponds to theid_documents_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_supportedserver metadata todocuments_supported.- Returns:
- Identity documents supported by this service.
- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0,
getSupportedDocuments()
-
setSupportedIdentityDocuments
@Deprecated public Service setSupportedIdentityDocuments(String[] documents)
Deprecated.Set identity documents supported by this service. This property corresponds to theid_documents_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_supportedserver metadata todocuments_supported.- Parameters:
documents- Identity documents supported by this service.- Returns:
thisobject.- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0,
setSupportedDocuments(String[])
-
getSupportedDocuments
public String[] getSupportedDocuments()
Get document types supported by this service. This property corresponds to thedocuments_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_supportedserver metadata todocuments_supported.This property is recognized by Authlete 2.3 and newer versions.
- Returns:
- Document types supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedDocuments
public Service setSupportedDocuments(String[] documents)
Set document types supported by this service. This property corresponds to thedocuments_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_supportedserver metadata todocuments_supported.This property is recognized by Authlete 2.3 and newer versions.
- Parameters:
documents- Document types supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedVerificationMethods
@Deprecated public String[] getSupportedVerificationMethods()
Deprecated.Get verification methods supported by this service. This property corresponds to theid_documents_verification_methods_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_verification_methods_supportedserver metadata todocuments_methods_supported.- Returns:
- Verification methods supported by this service.
- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0,
getSupportedDocumentsMethods()
-
setSupportedVerificationMethods
@Deprecated public Service setSupportedVerificationMethods(String[] methods)
Deprecated.Set verification methods supported by this service. This property corresponds to theid_documents_verification_methods_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_verification_methods_supportedserver metadata todocuments_methods_supported.- Parameters:
methods- Verification methods supported by this service.- Returns:
thisobject.- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0,
setSupportedDocumentsMethods(String[])
-
getSupportedDocumentsMethods
public String[] getSupportedDocumentsMethods()
Get validation and verification processes supported by this service. This property corresponds to thedocuments_methods_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_verification_methods_supportedserver metadata todocuments_methods_supported.This property is recognized by Authlete 2.3 and newer versions.
- Returns:
- Validation and verification processes supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedDocumentsMethods
public Service setSupportedDocumentsMethods(String[] methods)
Set validation and verification processes supported by this service. This property corresponds to thedocuments_methods_supportedserver metadata.The third implementer's draft of OpenID Connect for Identity Assurance 1.0 renamed the
id_documents_verification_methods_supportedserver metadata todocuments_methods_supported.This property is recognized by Authlete 2.3 and newer versions.
- Parameters:
methods- Validation and verification processes supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedDocumentsValidationMethods
@Deprecated public String[] getSupportedDocumentsValidationMethods()
Deprecated.Get document validation methods supported by this service. This property corresponds to thedocuments_validation_methods_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Returns:
- Document validation methods supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedDocumentsValidationMethods
@Deprecated public Service setSupportedDocumentsValidationMethods(String[] methods)
Deprecated.Set document validation methods supported by this service. This property corresponds to thedocuments_validation_methods_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Parameters:
methods- Document validation methods supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedDocumentsVerificationMethods
@Deprecated public String[] getSupportedDocumentsVerificationMethods()
Deprecated.Get document verification methods supported by this service. This property corresponds to thedocuments_verification_methods_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Returns:
- Document verification methods supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedDocumentsVerificationMethods
@Deprecated public Service setSupportedDocumentsVerificationMethods(String[] methods)
Deprecated.Set document verification methods supported by this service. This property corresponds to thedocuments_verification_methods_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Parameters:
methods- Document verification methods supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedDocumentsCheckMethods
public String[] getSupportedDocumentsCheckMethods()
Get document check methods supported by this service. This property corresponds to thedocuments_check_methods_supportedserver metadata which was added by the fourth implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Returns:
- Document check methods supported by this service.
- Since:
- 3.48
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedDocumentsCheckMethods
public Service setSupportedDocumentsCheckMethods(String[] methods)
Set document check methods supported by this service. This property corresponds to thedocuments_check_methods_supportedserver metadata which was added by the fourth implementer's draft of OpenID Connect for Identity Assurance 1.0.The fourth implementer's draft of OpenID Connect for Identity Assurance 1.0 replaced the
documents_validation_methods_supportedserver metadata and thedocuments_verification_methods_supportedserver metadata with thedocuments_check_methods_supportedserver metadata.- Parameters:
methods- Document check methods supported by this service.- Returns:
thisobject.- Since:
- 3.48
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedElectronicRecords
public String[] getSupportedElectronicRecords()
Get electronic record types supported by this service. This property corresponds to theelectronic_records_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.If
"electronic_record"is included in the list of supported evidence (cf.getSupportedEvidence(), this property must have at least one entry.This property is recognized by Authlete 2.3 and newer versions.
- Returns:
- Electronic record types supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedElectronicRecords
public Service setSupportedElectronicRecords(String[] records)
Set electronic record types supported by this service. This property corresponds to theelectronic_records_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.If
"electronic_record"is included in the list of supported evidence (cf.getSupportedEvidence(), this property must have at least one entry.This property is recognized by Authlete 2.3 and newer versions.
- Parameters:
records- Electronic record types supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedVerifiedClaims
public String[] getSupportedVerifiedClaims()
Get verified claims supported by this service. This property corresponds to theclaims_in_verified_claims_supportedserver metadata.- Returns:
- Verified claims supported by this service.
- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedVerifiedClaims
public Service setSupportedVerifiedClaims(String[] claims)
Set verified claims supported by this service. This property corresponds to theclaims_in_verified_claims_supportedserver metadata.- Parameters:
claims- Verified claims supported by this service.- Returns:
thisobject.- Since:
- 2.63
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedAttachments
public AttachmentType[] getSupportedAttachments()
Get attachment types supported by this service. This property corresponds to theattachments_supportedserver metadata which was added 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:
- Attachment types supported by this service.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
setSupportedAttachments
public Service setSupportedAttachments(AttachmentType[] types)
Set attachment types supported by this service. This property corresponds to theattachments_supportedserver metadata which was added 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:
types- Attachment types supported by this service.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0
-
getSupportedDigestAlgorithms
public String[] getSupportedDigestAlgorithms()
Get supported algorithms used to compute digest values of external attachments. This property corresponds to thedigest_algorithms_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.Possible values are listed in the Hash Algorithm Registry of IANA (Internet Assigned Numbers Authority). If this service supports external attachments (cf.
getSupportedAttachments()), this property must include at least"sha-256".This property is recognized by Authlete 2.3 and newer versions.
- Returns:
- Supported digest algorithms for external attachments.
- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0, Hash Algorithm Registry
-
setSupportedDigestAlgorithms
public Service setSupportedDigestAlgorithms(String[] algorithms)
Set supported algorithms used to compute digest values of external attachments. This property corresponds to thedigest_algorithms_supportedserver metadata which was added by the third implementer's draft of OpenID Connect for Identity Assurance 1.0.Possible values are listed in the Hash Algorithm Registry of IANA (Internet Assigned Numbers Authority). If this service supports external attachments (cf.
getSupportedAttachments()), this property must include at least"sha-256".This property is recognized by Authlete 2.3 and newer versions.
- Parameters:
algorithms- Supported digest algorithms for external attachments.- Returns:
thisobject.- Since:
- 3.13
- See Also:
- OpenID Connect for Identity Assurance 1.0, Hash Algorithm Registry
-
isMissingClientIdAllowed
public boolean isMissingClientIdAllowed()
Get the flag indicating whether token requests from public clients without theclient_idrequest parameter are allowed when the client can be guessed fromauthorization_codeorrefresh_token.This flag should not be set unless you have special reasons.
- Returns:
trueif token requests from public clients without theclient_idrequest parameter are allowed in the authorization code flow and the refresh token flow.- Since:
- 2.68
-
setMissingClientIdAllowed
public Service setMissingClientIdAllowed(boolean allowed)
Set the flag indicating whether token requests from public clients without theclient_idrequest parameter are allowed when the client can be guessed fromauthorization_codeorrefresh_token.Don't set this flag unless you have special reasons.
- Parameters:
allowed-trueto allow token requests from public clients without theclient_idrequest parameter in the authorization code flow and the refresh token flow.- Returns:
thisobject.- Since:
- 2.68
-
getEndSessionEndpoint
public URI getEndSessionEndpoint()
Get the end session endpoint for the service. This endpoint is used by clients to signal to the IdP that the user's session should be terminated.- Returns:
- The end session endpoint, or
nullif not set. - Since:
- 2.69
- See Also:
- OpenID Connect Session Management 1.0, 5. RP-Initiated Logout
-
setEndSessionEndpoint
public Service setEndSessionEndpoint(URI endSessionEndpoint)
Set the end session endpoint for the service. This endpoint is used by clients to signal to the IdP that the user's session should be terminated.- Parameters:
endSessionEndpoint- The end session endpoint, ornullif not set.- Returns:
thisobject.- Since:
- 2.69
- See Also:
- OpenID Connect Session Management 1.0, 5. RP-Initiated Logout
-
isParRequired
public boolean isParRequired()
Get the flag indicating whether this service requires that clients use the pushed authorization request endpoint.This property corresponds to the
require_pushed_authorization_requestsserver metadata defined in "OAuth 2.0 Pushed Authorization Requests".- Returns:
trueif client of this service are required to use PAR.- Since:
- 2.77
-
setParRequired
public Service setParRequired(boolean required)
Set the flag indicating whether this service requires that clients use the pushed authorization request endpoint.This property corresponds to the
require_pushed_authorization_requestsserver metadata defined in "OAuth 2.0 Pushed Authorization Requests".- Parameters:
required-trueto indicate that this service requires that clients use the pushed authorization request endpoint.- Returns:
thisobject.- Since:
- 2.77
-
isRequestObjectRequired
public boolean isRequestObjectRequired()
Get the flag indicating whether this service requires that authorization requests always utilize a request object by using eitherrequestorrequest_urirequest parameter.If this flag is
trueandisTraditionalRequestObjectProcessingApplied()returnsfalse, the value ofrequire_signed_request_objectserver metadata of this service is reported astruein the discovery document. The metadata is defined in JAR (JWT Secured Authorization Request). Thatrequire_signed_request_objectistruemeans that authorization requests which don't conform to the JAR specification are rejected.- Returns:
trueif this service requires that authorization requests always utilize a request object.- Since:
- 2.80
-
setRequestObjectRequired
public Service setRequestObjectRequired(boolean required)
Set the flag indicating whether this service requires that authorization requests always utilize a request object by using eitherrequestorrequest_urirequest parameter.See the description of
isRequestObjectRequired()for details.- Parameters:
required-trueto require that authorization requests always utilize a request object.- Returns:
thisobject.- Since:
- 2.80
-
isTraditionalRequestObjectProcessingApplied
public boolean isTraditionalRequestObjectProcessingApplied()
Get the flag indicating whether a request object is processed based on rules defined in OpenID Connect Core 1.0 or JAR (JWT Secured Authorization Request).Differences between rules in OpenID Connect Core 1.0 and ones in JAR are as follows.
- JAR requires that a request object be always signed.
- JAR does not allow request parameters outside a request object to be referred to.
- OIDC Core 1.0 requires that
response_typerequest parameter exist outside a request object even if the request object includes the request parameter. - OIDC Core 1.0 requires that
scoperequest parameter exist outside a request object if the authorization request is an OIDC request even if the request object includes the request parameter.
If this flag is
falseandisRequestObjectRequired()returnstrue, the value ofrequire_signed_request_objectserver metadata of this service is reported astruein the discovery document. The metadata is defined in JAR (JWT Secured Authorization Request). Thatrequire_signed_request_objectistruemeans that authorization requests which don't conform to the JAR specification are rejected.- Returns:
trueif rules defined in OpenID Connect Core 1.0 are applied on processing a request object.falseif rules defined in JAR (JWT Secured Authorization Request) are applied.- Since:
- 2.80
-
setTraditionalRequestObjectProcessingApplied
public Service setTraditionalRequestObjectProcessingApplied(boolean applied)
Set the flag indicating whether a request object is processed based on rules defined in OpenID Connect Core 1.0 or JAR (JWT Secured Authorization Request).See the description of
isTraditionalRequestObjectProcessingApplied()for details.- Parameters:
applied-trueto apply rules defined in OpenID Connect Core 1.0 on processing a request object.falseto apply rules defined in JAR instead.- Returns:
thisobject.- Since:
- 2.80
-
isClaimShortcutRestrictive
public boolean isClaimShortcutRestrictive()
Get the flag indicating whether claims specified by shortcut scopes (e.g.profile) are included in the issued ID token only when no access token is issued.To strictly conform to the description below excerpted from OpenID Connect Core 1.0 Section 5.4, this flag has to be true.
The Claims requested by the
profile,email,address, andphonescope values are returned from the UserInfo Endpoint, as described in Section 5.3.2, when aresponse_typevalue is used that results in an Access Token being issued. However, when no Access Token is issued (which is the case for theresponse_typevalueid_token), the resulting Claims are returned in the ID Token.- Returns:
trueif claims specified by shortcut scopes are included in the issued ID token only when no access token is issued.falseif the claims are included in the issued ID token regardless of whether an access token is issued or not.- Since:
- 2.81
-
setClaimShortcutRestrictive
public Service setClaimShortcutRestrictive(boolean restrictive)
Set the flag indicating whether claims specified by shortcut scopes (e.g.profile) are included in the issued ID token only when no access token is issued.To strictly conform to the description below excerpted from OpenID Connect Core 1.0 Section 5.4, this flag has to be true.
The Claims requested by the
profile,email,address, andphonescope values are returned from the UserInfo Endpoint, as described in Section 5.3.2, when aresponse_typevalue is used that results in an Access Token being issued. However, when no Access Token is issued (which is the case for theresponse_typevalueid_token), the resulting Claims are returned in the ID Token.- Parameters:
restrictive-trueto include claims specified by shortcut scopes in the issued ID token only when no access token is issued.falseto include the claims in the issued ID token regardless of whether an access token is issued or not.- Returns:
thisobject.
-
isScopeRequired
public boolean isScopeRequired()
Get the flag indicating whether requests that request no scope are rejected or not.When a request has no explicit
scopeparameter and the service's pre-defined default scope set is empty, the authorization server regards the request requests no scope. When this flag is true, requests that request no scope are rejected.The requirement below excerpted from RFC 6749 Section 3.3 does not explicitly mention the case where the default scope set is empty.
If the client omits the
scopeparameter when requesting authorization, the authorization server MUST either process the request using a pre-defined default value or fail the request indicating an invalid scope.However, if you interpret "the default scope set exists but is empty" as "the default scope set does not exist" and want to strictly conform to the requirement above, this flag has to be true.
- Returns:
trueif the authorization server rejects requests that request no scope.falseif the authorization server admits requests that request no scope.- Since:
- 2.81
-
setScopeRequired
public Service setScopeRequired(boolean required)
Set the flag indicating whether requests that request no scope are rejected or not.When a request has no explicit
scopeparameter and the service's pre-defined default scope set is empty, the authorization server regards the request requests no scope. When this flag is true, requests that request no scope are rejected.The requirement below excerpted from RFC 6749 Section 3.3 does not explicitly mention the case where the default scope set is empty.
If the client omits the
scopeparameter when requesting authorization, the authorization server MUST either process the request using a pre-defined default value or fail the request indicating an invalid scope.However, if you interpret "the default scope set exists but is empty" as "the default scope set does not exist" and want to strictly conform to the requirement above, this flag has to be true.
- Parameters:
required-trueto reject requests that request no scope.falseto admit requests that request no scope.- Returns:
thisobject.- Since:
- 2.82
-
isNbfOptional
public boolean isNbfOptional()
Get the flag indicating whether thenbfclaim in the request object is optional even when the authorization request is regarded as a FAPI-Part2 request.The final version of Financial-grade API was approved in January, 2021. The Part 2 of the final version has new requirements on lifetime of request objects. They require that request objects contain an
nbfclaim and the lifetime computed byexp - nbfbe no longer than 60 minutes.Therefore, when an authorization request is regarded as a FAPI-Part2 request, the request object used in the authorization request must contain an
nbfclaim. Otherwise, the authorization server rejects the authorization request.When this flag is
true, thenbfclaim is treated as an optional claim even when the authorization request is regarded as a FAPI-Part2 request. That is, the authorization server does not perform the validation on lifetime of the request object.Skipping the validation is a violation of the FAPI specification. The reason why this flag has been prepared nevertheless is that the new requirements (which do not exist in the Implementer's Draft 2 released in October, 2018) have big impacts on deployed implementations of client applications and Authlete thinks there should be a mechanism whereby to make the migration from ID2 to Final smooth without breaking live systems.
- Returns:
trueif thenbfclaim is treated as an optional claim even when the authorization request is regarded as a FAPI-Part2 request.- Since:
- 2.86
-
setNbfOptional
public Service setNbfOptional(boolean optional)
Set the flag indicating whether thenbfclaim in the request object is optional even when the authorization request is regarded as a FAPI-Part2 request.See the description of
isNbfOptional()for details about this flag.- Parameters:
optional-trueto treat thenbfclaim as an optional claim.- Returns:
thisobject.- Since:
- 2.86
-
isIssSuppressed
public boolean isIssSuppressed()
Get the flag indicating whether generation of theissresponse parameter is suppressed."OAuth 2.0 Authorization Server Issuer Identifier in Authorization Response" has defined a new authorization response parameter,
iss, as a countermeasure for a certain type of mix-up attacks.The specification requires that the
issresponse parameter always be included in authorization responses unless JARM (JWT Secured Authorization Response Mode) is used.When this flag is
true, the authorization server does not include theissresponse parameter in authorization responses. By turning this flag on and off, developers of client applications can experiment the mix-up attack and the effect of theissresponse parameter.Note that this flag should not be
truein production environment unless there are special reasons for it.- Returns:
trueif the authorization server does not include theissresponse parameter in authorization responses.- Since:
- 2.86
-
setIssSuppressed
public Service setIssSuppressed(boolean suppressed)
Set the flag indicating whether generation of theissresponse parameter is suppressed.See the description of
isIssSuppressed()for details about this flag.- Parameters:
suppressed-trueto make the authorization server suppress theissresponse parameter.- Returns:
thisobject.- Since:
- 2.86
-
getAttributes
public Pair[] getAttributes()
Get attributes.The feature of "service attributes" is available since Authlete 2.2.
- Returns:
- Attributes.
- Since:
- 2.87
-
setAttributes
public Service setAttributes(Pair[] attributes)
Set attributes.The feature of "service attributes" is available since Authlete 2.2.
- Parameters:
attributes- Attributes.- Returns:
thisobject.- Since:
- 2.87
-
loadAttributes
public Service loadAttributes(Iterable<Pair> attributes)
Load attributes from an iterable.The feature of "service attributes" is available since Authlete 2.2.
- Parameters:
attributes- Attributes.- Returns:
thisobject.- Since:
- 2.89
-
getSupportedCustomClientMetadata
public String[] getSupportedCustomClientMetadata()
Get custom client metadata supported by this service.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, stored into Authlete database. On the other hand, unrecognized client metadata are discarded.
By listing up custom client metadata in advance by using this property (
Service.supportedCustomClientMetadata), Authlete can recognize them and stores their values into the database. The stored custom client metadata values can be referenced byClient.getCustomMetadata().This property affects the behavior of
/api/client/registrationAPI of Authlete 2.2 onwards.- Returns:
- Custom client metadata supported by this service.
- Since:
- 2.93
- See Also:
Client.getCustomMetadata()
-
setSupportedCustomClientMetadata
public Service setSupportedCustomClientMetadata(String[] metadata)
Set custom client metadata supported by this service.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, stored into Authlete database. On the other hand, unrecognized client metadata are discarded.
By listing up custom client metadata in advance by using this property (
Service.supportedCustomClientMetadata), Authlete can recognize them and stores their values into the database. The stored custom client metadata values can be referenced byClient.getCustomMetadata().This property affects the behavior of
/api/client/registrationAPI of Authlete 2.2 onwards.- Parameters:
metadata- Custom client metadata supported by this service.- Returns:
thisobject.- Since:
- 2.93
- See Also:
Client.getCustomMetadata()
-
isTokenExpirationLinked
public boolean isTokenExpirationLinked()
Get the flag indicating whether the expiration date of an access token never exceeds that of the corresponding refresh token.When a new access token is issued by a refresh token request (= a token request with
grant_type=refresh_token), the expiration date of the access token may exceed the expiration date of the corresponding refresh token. This behavior itself is not wrong and may happen whenisRefreshTokenKept()returnstrueand/or whenisRefreshTokenDurationKept()returnstrue.When this flag is
true, the expiration date of an access token never exceeds that of the corresponding refresh token regardless of the calculated duration based on other settings such asgetAccessTokenDuration(),ClientExtension.getAccessTokenDuration()and theaccess_token.durationattribute of scopes.It is technically possible to set a value which is bigger than the duration of refresh tokens as the duration of access tokens although it is strange. In the case, the duration of an access token becomes longer than the duration of the refresh token which is issued together with the access token. Even if the duration values are configured so, if this flag is
true, the expiration date of the access token does not exceed that of the refresh token. That is, the duration of the access token will be shortened, and as a result, the access token and the refresh token will have the same expiration date.- Returns:
trueif the service assures that the expiration date of an access token never exceeds that of the corresponding refresh token.- Since:
- 2.95
-
setTokenExpirationLinked
public Service setTokenExpirationLinked(boolean linked)
Set the flag indicating whether the expiration date of an access token never exceeds that of the corresponding refresh token.When a new access token is issued by a refresh token request (= a token request with
grant_type=refresh_token), the expiration date of the access token may exceed the expiration date of the corresponding refresh token. This behavior itself is not wrong and may happen whenisRefreshTokenKept()returnstrueand/or whenisRefreshTokenDurationKept()returnstrue.When this flag is
true, the expiration date of an access token never exceeds that of the corresponding refresh token regardless of the calculated duration based on other settings such asgetAccessTokenDuration(),ClientExtension.getAccessTokenDuration()and theaccess_token.durationattribute of scopes.It is technically possible to set a value which is bigger than the duration of refresh tokens as the duration of access tokens although it is strange. In the case, the duration of an access token becomes longer than the duration of the refresh token which is issued together with the access token. Even if the duration values are configured so, if this flag is
true, the expiration date of the access token does not exceed that of the refresh token. That is, the duration of the access token will be shortened, and as a result, the access token and the refresh token will have the same expiration date.- Parameters:
linked-trueto assure that the expiration date of an access token never exceeds that of the corresponding refresh token.- Returns:
thisobject.- Since:
- 2.95
-
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 theClient.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(),Client.isFrontChannelRequestObjectEncryptionRequired()
-
setFrontChannelRequestObjectEncryptionRequired
public Service 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 theClient.frontChannelRequestObjectEncryptionRequiredflag istrue.- Parameters:
required-trueto require that request objects passed through the front channel be encrypted.- Returns:
thisobject.- Since:
- 2.96
- See Also:
isRequestObjectRequired(),Client.isFrontChannelRequestObjectEncryptionRequired()
-
isRequestObjectEncryptionAlgMatchRequired
public boolean isRequestObjectEncryptionAlgMatchRequired()
Get the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata of the client that has sent the request object.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
Client's property that represents the client metadata isClient.requestEncryptionAlg. See the description ofClient.getRequestEncryptionAlg()for details.Even if this flag is
false, the match is required if theClient.requestObjectEncryptionAlgMatchRequiredflag istrue.- Returns:
trueif the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata.- Since:
- 2.96
- See Also:
Client.getRequestEncryptionAlg(),Client.isRequestObjectEncryptionAlgMatchRequired()
-
setRequestObjectEncryptionAlgMatchRequired
public Service setRequestObjectEncryptionAlgMatchRequired(boolean required)
Set the flag indicating whether the JWEalgof encrypted request object must match therequest_object_encryption_algclient metadata of the client that has sent the request object.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
Client's property that represents the client metadata isClient.requestEncryptionAlg. See the description ofClient.getRequestEncryptionAlg()for details.Even if this flag is
false, the match is required if theClient.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:
Client.getRequestEncryptionAlg(),Client.isRequestObjectEncryptionAlgMatchRequired()
-
isRequestObjectEncryptionEncMatchRequired
public boolean isRequestObjectEncryptionEncMatchRequired()
Get the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata of the client that has sent the request object.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
Client's property that represents the client metadata isClient.requestEncryptionEnc. See the description ofClient.getRequestEncryptionEnc()for details.Even if this flag is
false, the match is required if theClient.requestObjectEncryptionEncMatchRequiredflag istrue.- Returns:
trueif the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata.- Since:
- 2.96
- See Also:
Client.getRequestEncryptionEnc(),Client.isRequestObjectEncryptionEncMatchRequired()
-
setRequestObjectEncryptionEncMatchRequired
public Service setRequestObjectEncryptionEncMatchRequired(boolean required)
Set the flag indicating whether the JWEencof encrypted request object must match therequest_object_encryption_encclient metadata of the client that has sent the request object.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
Client's property that represents the client metadata isClient.requestEncryptionEnc. See the description ofClient.getRequestEncryptionEnc()for details.Even if this flag is
false, the match is required if theClient.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:
Client.getRequestEncryptionEnc(),Client.isRequestObjectEncryptionEncMatchRequired()
-
isHsmEnabled
public boolean isHsmEnabled()
Get the flag indicating whether HSM (Hardware Security Module) support is enabled for this service.When this flag is false, keys managed in HSMs are not used even if they exist. In addition,
/api/hsk/*APIs reject all requests.Even if this flag is true, HSM-related features do not work if the configuration of the Authlete server you are using does not support HSM.
- Returns:
trueif HSM support is enabled for this service.- Since:
- 2.97
-
setHsmEnabled
public Service setHsmEnabled(boolean enabled)
Set the flag indicating whether HSM (Hardware Security Module) support is enabled for this service.When this flag is false, keys managed in HSMs are not used even if they exist. In addition,
/api/hsk/*APIs reject all requests.Even if this flag is true, HSM-related features do not work if the configuration of the Authlete server you are using does not support HSM.
- Parameters:
enabled-trueto enable HSM support for this service.- Returns:
thisobject.- Since:
- 2.97
-
getHsks
public Hsk[] getHsks()
Get information about keys managed on HSMs (Hardware Security Modules).This
hsksproperty is output only, meaning thathsksin requests to/api/service/createAPI and/api/service/updateAPI do not have any effect. The contents of this property is controlled only by/api/hsk/*APIs.- Returns:
- Information about keys managed on HSMs.
- Since:
- 2.97
-
setHsks
public Service setHsks(Hsk[] hsks)
Set information about keys managed on HSMs (Hardware Security Modules).This
hsksproperty is output only, meaning thathsksin requests to/api/service/createAPI and/api/service/updateAPI do not have any effect. The contents of this property is controlled only by/api/hsk/*APIs.- Parameters:
hsks- Information about keys managed on HSMs.- Returns:
thisobject.- Since:
- 2.97
-
getGrantManagementEndpoint
public URI getGrantManagementEndpoint()
Get the URL of the grant management endpoint.- Returns:
- The URL of the grant management endpoint.
- Since:
- 3.1
- See Also:
- Grant Management for OAuth 2.0
-
setGrantManagementEndpoint
public Service setGrantManagementEndpoint(URI endpoint)
Set the URL of the grant management endpoint.- Parameters:
endpoint- The URL of the grant management endpoint.- Returns:
thisobject.- Since:
- 3.1
- See Also:
- Grant Management for OAuth 2.0
-
isGrantManagementActionRequired
public boolean isGrantManagementActionRequired()
Get the flag indicating whether every authorization request (and any request serving as an authorization request such as CIBA backchannel authentication request and device authorization request) must include thegrant_management_actionrequest parameter.This property corresponds to the
grant_management_action_requiredserver metadata defined in "Grant Management for OAuth 2.0".Note that setting
trueto this property will result in blocking all public clients because the specification requires that grant management be usable only by confidential clients for security reasons.- Returns:
trueif every authorization request must include thegrant_management_actionrequest parameter.- Since:
- 3.1
- See Also:
- Grant Management for OAuth 2.0
-
setGrantManagementActionRequired
public Service setGrantManagementActionRequired(boolean required)
Set the flag indicating whether every authorization request (and any request serving as an authorization request such as CIBA backchannel authentication request and device authorization request) must include thegrant_management_actionrequest parameter.This property corresponds to the
grant_management_action_requiredserver metadata defined in "Grant Management for OAuth 2.0".Note that setting
trueto this property will result in blocking all public clients because the specification requires that grant management be usable only by confidential clients for security reasons.- Parameters:
required-trueto require every authorization request include thegrant_management_actionrequest parameter.- Returns:
thisobject.- Since:
- 3.1
- See Also:
- Grant Management for OAuth 2.0
-
isUnauthorizedOnClientConfigSupported
public boolean isUnauthorizedOnClientConfigSupported()
Get the flag indicating whether Authlete's/api/client/registrationAPI usesUNAUTHORIZEDas a value of theactionresponse parameter when appropriate.See the description of
setUnauthorizedOnClientConfigSupported(boolean)for details.- Returns:
trueif Authlete's/api/client/registrationusesUNAUTHORIZEDas a value of theactionresponse parameter when appropriate.falseifUNAUTHORIZEDis not used in any case.- Since:
- 3.4
- See Also:
- RFC 7592 OAuth 2.0 Dynamic Client Registration Management Protocol
-
setUnauthorizedOnClientConfigSupported
public Service setUnauthorizedOnClientConfigSupported(boolean supported)
Set the flag indicating whether Authlete's/api/client/registrationAPI usesUNAUTHORIZEDas a value of theactionresponse parameter when appropriate.The
UNAUTHORIZEDenum value did not exist in the initial implementation of theClientRegistrationResponse.Actionenum. This means that implementations of client configuration endpoint were not able to conform to RFC 7592 strictly.For backward compatibility (to avoid breaking running systems), Authlete's
/api/client/registrationAPI does not return theUNAUTHORIZEDenum value if this flag is not turned on.The steps an existing implementation of client configuration endpoint has to do in order to conform to the requirement related to "
401 Unauthorized" are as follows.- Update the Authlete library (e.g. authlete-java-common) your system is using.
-
Update your implementation of client configuration endpoint so that
it can handle the
UNAUTHORIZEDaction. -
Turn on this
unauthorizedOnClientConfigSupportedflag.
- Parameters:
supported-trueto let Authlete's/api/client/registrationAPI use theUNAUTHORIZEDenum value when appropriate.falseto prevent theUNAUTHORIZEDenum value from being used.- Returns:
thisobject.- Since:
- 3.4
- See Also:
- RFC 7592 OAuth 2.0 Dynamic Client Registration Management Protocol
-
isDcrScopeUsedAsRequestable
public boolean isDcrScopeUsedAsRequestable()
Get the flag indicating whether thescoperequest parameter in dynamic client registration and update requests (RFC 7591 and RFC 7592) is used as scopes that the client can request.Limiting the range of scopes that a client can request is achieved by listing scopes in the
client.extension.requestableScopesproperty (cf.ClientExtension.getRequestableScopes()) and settingtrueto theclient.extension.requestableScopesEnabledproperty (cf.ClientExtension.isRequestableScopesEnabled()). This feature is called "requestable scopes".This property affects behaviors of
/api/client/registrationand other family APIs.- Returns:
trueif thescoperequest parameter in dynamic client registration and update requests is used to limit the range of scopes that the client can request.falseif Authlete does nothing special for thescoperequest parameter.- Since:
- 3.5
- See Also:
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol, RFC 7592 OAuth 2.0 Dynamic Client Registration Management Protocol
-
setDcrScopeUsedAsRequestable
public Service setDcrScopeUsedAsRequestable(boolean used)
Set the flag indicating whether thescoperequest parameter in dynamic client registration and update requests (RFC 7591 and RFC 7592) is used as scopes that the client can request.Limiting the range of scopes that a client can request is achieved by listing scopes in the
client.extension.requestableScopesproperty (cf.ClientExtension.getRequestableScopes()) and settingtrueto theclient.extension.requestableScopesEnabledproperty (cf.ClientExtension.isRequestableScopesEnabled()). This feature is called "requestable scopes".This property affects behaviors of
/api/client/registrationand other family APIs.- Parameters:
used-trueto make Authlete treat thescoperequest parameter in dynamic client registration and update requests as requestable scopes.falseto leave it to Authlete (Authlete will do nothing special).- Returns:
thisobject.- Since:
- 3.5
- See Also:
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol, RFC 7592 OAuth 2.0 Dynamic Client Registration Management Protocol
-
getPredefinedTransformedClaims
public String getPredefinedTransformedClaims()
Get the transformed claims predefined by this service in JSON format. This property corresponds to thetransformed_claims_predefinedserver metadata.See the description of
setPredefinedTransformedClaims(String)for details.This
predefinedTransformedClaimsproperty is available from Authlete 2.3 onwards.- Returns:
- Predefined transformed claims in JSON format.
- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0,
setPredefinedTransformedClaims(String)
-
setPredefinedTransformedClaims
public Service setPredefinedTransformedClaims(String claims)
Set the transformed claims predefined by this service in JSON format. This property corresponds to thetransformed_claims_predefinedserver metadata."Transformed Claims" is a specification that enables to define a "transformed claim" which transforms the value of an existing claim by applying "transformation functions".
The following example defines a transformed claim named
18_or_overwhich uses thebirthdateclaim as input and applies two transformation functions,years_agoandgte. As a result of the transformation, the transformed claim will have a boolean value.{ "18_or_over": { "claim": "birthdate", "fn": [ "years_ago", [ "gte", 18 ] ] } }A client application can request a predefined transformed claim by prepending two colons (
::) to the name of a transformed claim. The following is an example of theclaimsrequest parameter (OpenID Connect Core 1.0, 5.5. Requesting Claims using the "claims" Request Parameter) that requests a predefined transformed claim named18_or_overto be embedded in an ID token.{ "id_token": { "::18_or_over": null } }If the age of the user is 18 or over, the ID token will contain the transformed claim like below.
"::18_or_over": true
This
predefinedTransformedClaimsproperty is available from Authlete 2.3 onwards.- Parameters:
claims- Predefined transformed claims in JSON format.- Returns:
thisobject.- Since:
- 3.8
- See Also:
- OpenID Connect Advanced Syntax for Claims (ASC) 1.0
-
isLoopbackRedirectionUriVariable
public boolean isLoopbackRedirectionUriVariable()
Get the flag indicating whether the port number component of redirection URIs can be variable when the host component indicates loopback.When this flag is true, if the host component of a redirection URI specified in an authorization request indicates loopback (to be precise, when the host component is
localhost,127.0.0.1or::1), the port number component is ignored when the specified redirection URI is compared to pre-registered ones. This behavior is described in 7.3. Loopback Interface Redirection of RFC 8252 OAuth 2.0 for Native Apps.3.1.2.3. Dynamic Configuration of RFC 6749 states "If the client registration included the full redirection URI, the authorization server MUST compare the two URIs using simple string comparison as defined in [RFC3986] Section 6.2.1." Also, the description of
redirect_uriin 3.1.2.1. Authentication Request of OpenID Connect Core 1.0 states "This URI MUST exactly match one of the Redirection URI values for the Client pre-registered at the OpenID Provider, with the matching performed as described in Section 6.2.1 of [RFC3986] (Simple String Comparison)." These "Simple String Comparison" requirements are preceded by this flag. That is, even when the conditions described in RFC 6749 and OpenID Connect Core 1.0 are satisfied, the port number component of loopback redirection URIs can be variable when this flag is true.8.3. Loopback Redirect Considerations of RFC 8252 states as follows.
While redirect URIs using
localhost(i.e.,"http://localhost:{port}/{path}") function similarly to loopback IP redirects described in Section 7.3, the use oflocalhostis NOT RECOMMENDED. Specifying a redirect URI with the loopback IP literal rather thanlocalhostavoids inadvertently listening on network interfaces other than the loopback interface. It is also less susceptible to client-side firewalls and misconfigured host name resolution on the user's device.However, Authlete allows the port number component to be variable in the case of
localhost, too. It is left to client applications whether they uselocalhostor a literal loopback IP address (127.0.0.1for IPv4 or::1for IPv6).Section 7.3 and Section 8.3 of RFC 8252 state that loopback redirection URIs use the
"http"scheme, but Authlete allows the port number component to be variable in other cases (e.g. in the case of the"https"scheme), too.- Returns:
- True if the port number component of loopback redirection URIs can be variable.
- Since:
- 3.12
- See Also:
- RFC 8252 OAuth 2.0 for Native Apps, 7.3. Loopback Interface Redirection, RFC 8252 OAuth 2.0 for Native Apps, 8.3. Loopback Redirect Considerations
-
setLoopbackRedirectionUriVariable
public Service setLoopbackRedirectionUriVariable(boolean variable)
Set the flag indicating whether the port number component of redirection URIs can be variable when the host component indicates loopback.When this flag is true, if the host component of a redirection URI specified in an authorization request indicates loopback (to be precise, when the host component is
localhost,127.0.0.1or::1), the port number component is ignored when the specified redirection URI is compared to pre-registered ones. This behavior is described in 7.3. Loopback Interface Redirection of RFC 8252 OAuth 2.0 for Native Apps.3.1.2.3. Dynamic Configuration of RFC 6749 states "If the client registration included the full redirection URI, the authorization server MUST compare the two URIs using simple string comparison as defined in [RFC3986] Section 6.2.1." Also, the description of
redirect_uriin 3.1.2.1. Authentication Request of OpenID Connect Core 1.0 states "This URI MUST exactly match one of the Redirection URI values for the Client pre-registered at the OpenID Provider, with the matching performed as described in Section 6.2.1 of [RFC3986] (Simple String Comparison)." These "Simple String Comparison" requirements are preceded by this flag. That is, even when the conditions described in RFC 6749 and OpenID Connect Core 1.0 are satisfied, the port number component of loopback redirection URIs can be variable when this flag is true.8.3. Loopback Redirect Considerations of RFC 8252 states as follows.
While redirect URIs using
localhost(i.e.,"http://localhost:{port}/{path}") function similarly to loopback IP redirects described in Section 7.3, the use oflocalhostis NOT RECOMMENDED. Specifying a redirect URI with the loopback IP literal rather thanlocalhostavoids inadvertently listening on network interfaces other than the loopback interface. It is also less susceptible to client-side firewalls and misconfigured host name resolution on the user's device.However, Authlete allows the port number component to be variable in the case of
localhost, too. It is left to client applications whether they uselocalhostor a literal loopback IP address (127.0.0.1for IPv4 or::1for IPv6).Section 7.3 and Section 8.3 of RFC 8252 state that loopback redirection URIs use the
"http"scheme, but Authlete allows the port number component to be variable in other cases (e.g. in the case of the"https"scheme), too.- Parameters:
variable- True to allow the port number component of loopback redirection URIs to be variable.- Returns:
thisobject.- Since:
- 3.12
- See Also:
- RFC 8252 OAuth 2.0 for Native Apps, 7.3. Loopback Interface Redirection, RFC 8252 OAuth 2.0 for Native Apps, 8.3. Loopback Redirect Considerations
-
isRequestObjectAudienceChecked
public boolean isRequestObjectAudienceChecked()
Get the flag indicating whether Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service.Section 6.1. Passing a Request Object by Value of OpenID Connect Core 1.0 has the following statement.
The
audvalue SHOULD be or include the OP's Issuer Identifier URL.Likewise, Section 4. Request Object of RFC 9101 (The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)) has the following statement.
The value of
audshould be the value of the authorization server (AS)issuer, as defined in RFC 8414.As excerpted above, validation on the
audclaim of request objects is optional. However, if this flag is turned on, Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service and raises an error if they are different.- Returns:
trueif Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service.- Since:
- 3.14
-
setRequestObjectAudienceChecked
public Service setRequestObjectAudienceChecked(boolean checked)
Set the flag indicating whether Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service.Section 6.1. Passing a Request Object by Value of OpenID Connect Core 1.0 has the following statement.
The
audvalue SHOULD be or include the OP's Issuer Identifier URL.Likewise, Section 4. Request Object of RFC 9101 (The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR)) has the following statement.
The value of
audshould be the value of the authorization server (AS)issuer, as defined in RFC 8414.As excerpted above, validation on the
audclaim of request objects is optional. However, if this flag is turned on, Authlete checks whether theaudclaim of request objects matches the issuer identifier of this service and raises an error if they are different.- Parameters:
checked-trueto make Authlete check whether theaudclaim of request objects matches the issuer identifier of this service.- Returns:
thisobject.- Since:
- 3.14
-
isAccessTokenForExternalAttachmentEmbedded
public boolean isAccessTokenForExternalAttachmentEmbedded()
Get the flag indicating whether Authlete generates access tokens for external attachments and embeds them in ID tokens and userinfo responses.The third draft of OpenID Connect for Identity Assurance 1.0 introduced a new feature called "Attachments". The feature enables OpenID Providers to attach additional contents as parts of "evidence".
There are two types of attachments. One is "embedded attachment" where contents of attachments are base64-encoded and embedded in ID tokens and userinfo responses directly. The other is "external attachment" where contents of attachments are hosted on resource servers and URLs of them are embedded in ID tokens and userinfo responses.
When an OpenID Provider embeds URLs of external attachments in ID tokens and userinfo responses, it may optionally embed access tokens with which the client application accesses the external attachments.
The following is an example of
"verified_claims"that shows how an access token is embedded. (A simplified version of an example in the specification.)"verified_claims": { "verification": { "trust_framework":"eidas", "evidence": [ { "type": "document", "attachments": [ { "desc": "Front of id document", "digest": { "alg": "sha-256", "value": "qC1zE5AfxylOFLrCnOIURXJUvnZwSFe5uUj8t6hdQVM=" }, "url": "https://example.com/attachments/pGL9yz4hZQ", "access_token": "ksj3n283dke", "exp": 1676552089 } ] } ] }, "claims": { "given_name": "Max", "family_name": "Mustermann", "birthdate": "1956-01-28" } }Because it is developers (not Authlete) who prepare the content of
"verified_claims"(cf. the"claims"request parameter of Authlete's/api/auth/authorization/issueAPI), developers can embed arbitrary access tokens for external attachments. However, it is a burdensome task to prepare access tokens appropriately. The task can be delegated to Authlete by setting true to thisaccessTokenForExternalAttachmentEmbeddedproperty.When this property is set to true, Authlete behaves as described below for each element in the
"attachments"array.- Ignores the element if it does not contain the
"url"property because it means that the element is not an external attachment. - Does nothing for the element if it already contains the
"access_token"property. - Computes the duration of the access token which is about to be
generated. If the element already contains the
"exp"property, its value is used to compute the duration. Otherwise, (1) the duration of the ID token is used as the duration of the access token for the external attachment in the case where the URL of the external attachment is going to be embedded in an ID token, or (2) the remaining duration of the access token which was presented at the userinfo endpoint is used as the duration of the access token for the external attachment in the case where the URL of the external attachment is going to be embedded in a userinfo response. - Generates an access token which has the duration computed in the
previous step. Also, the access token has the URL as an associated
resource as if the
resourcerequest parameter defined in RFC 8707 (Resource Indicators for OAuth 2.0) were used. - Puts the
"access_token"and"exp"properties in the element whose values are the generated access token and the computed duration.
Note that the
expires_inproperty was replaced withexpafter the 4th draft of the OpenID Connect for Identity Assurance 1.0 was published.- Returns:
trueif Authlete generates access tokens for external attachments and embeds them in ID tokens and userinfo responses.- Since:
- 3.16, Authlete 2.3
- See Also:
- OpenID Connect for Identity Assurance 1.0
- Ignores the element if it does not contain the
-
setAccessTokenForExternalAttachmentEmbedded
public Service setAccessTokenForExternalAttachmentEmbedded(boolean embedded)
Set the flag indicating whether Authlete generates access tokens for external attachments and embeds them in ID tokens and userinfo responses.The third draft of OpenID Connect for Identity Assurance 1.0 introduced a new feature called "Attachments". The feature enables OpenID Providers to attach additional contents as parts of "evidence".
There are two types of attachments. One is "embedded attachment" where contents of attachments are base64-encoded and embedded in ID tokens and userinfo responses directly. The other is "external attachment" where contents of attachments are hosted on resource servers and URLs of them are embedded in ID tokens and userinfo responses.
When an OpenID Provider embeds URLs of external attachments in ID tokens and userinfo responses, it may optionally embed access tokens with which the client application accesses the external attachments.
The following is an example of
"verified_claims"that shows how an access token is embedded. (A simplified version of an example in the specification.)"verified_claims": { "verification": { "trust_framework":"eidas", "evidence": [ { "type": "document", "attachments": [ { "desc": "Front of id document", "digest": { "alg": "sha-256", "value": "qC1zE5AfxylOFLrCnOIURXJUvnZwSFe5uUj8t6hdQVM=" }, "url": "https://example.com/attachments/pGL9yz4hZQ", "access_token": "ksj3n283dke", "exp": 1676552089 } ] } ] }, "claims": { "given_name": "Max", "family_name": "Mustermann", "birthdate": "1956-01-28" } }Because it is developers (not Authlete) who prepare the content of
"verified_claims"(cf. the"claims"request parameter of Authlete's/api/auth/authorization/issueAPI), developers can embed arbitrary access tokens for external attachments. However, it is a burdensome task to prepare access tokens appropriately. The task can be delegated to Authlete by setting true to thisaccessTokenForExternalAttachmentEmbeddedproperty.When this property is set to true, Authlete behaves as described below for each element in the
"attachments"array.- Ignores the element if it does not contain the
"url"property because it means that the element is not an external attachment. - Does nothing for the element if it already contains the
"access_token"property. - Computes the duration of the access token which is about to be
generated. If the element already contains the
"exp"property, its value is used to compute the duration. Otherwise, (1) the duration of the ID token is used as the duration of the access token for the external attachment in the case where the URL of the external attachment is going to be embedded in an ID token, or (2) the remaining duration of the access token which was presented at the userinfo endpoint is used as the duration of the access token for the external attachment in the case where the URL of the external attachment is going to be embedded in a userinfo response. - Generates an access token which has the duration computed in the
previous step. Also, the access token has the URL as an associated
resource as if the
resourcerequest parameter defined in RFC 8707 (Resource Indicators for OAuth 2.0) were used. - Puts the
"access_token"and"exp"properties in the element whose values are the generated access token and the computed duration.
Note that the
expires_inproperty was replaced withexpafter the 4th draft of the OpenID Connect for Identity Assurance 1.0 was published.- Parameters:
embedded-trueto make Authlete generate access tokens for external attachments and embed them in ID tokens and userinfo responses.- Returns:
thisobject.- Since:
- 3.16, Authlete 2.3
- See Also:
- OpenID Connect for Identity Assurance 1.0
- Ignores the element if it does not contain the
-
isRefreshTokenIdempotent
public boolean isRefreshTokenIdempotent()
Get the flag indicating whether refresh token requests with the same refresh token can be made multiple times in quick succession and they can obtain the same renewed refresh token within the short period.This feature is available in Authlete 2.3 onwards.
- Returns:
trueif multiple refresh token requests in a short period can obtain the same renewed refresh token.- Since:
- 3.21, Authlete 2.3
-
setRefreshTokenIdempotent
public Service setRefreshTokenIdempotent(boolean idempotent)
Set the flag indicating whether refresh token requests with the same refresh token can be made multiple times in quick succession and they can obtain the same renewed refresh token within the short period.This feature is available in Authlete 2.3 onwards.
- Parameters:
idempotent-trueto enable multiple refresh token requests in a short period to obtain the same renewed refresh token.- Returns:
thisobject.- Since:
- 3.21, Authlete 2.3
-
isFederationEnabled
public boolean isFederationEnabled()
Get the flag indicating whether this service supports OpenID Federation 1.0.If the feature of OpenID Federation 1.0 is not enabled in the Authlete server on which this service is hosted, functions related to OpenID Federation 1.0 are not usable regardless of the setting of this property.
OpenID Federation 1.0 is supported by Authlete 2.3 onwards.
- Returns:
trueif this service supports OpenID Federation 1.0.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setFederationEnabled
public Service setFederationEnabled(boolean enabled)
Set the flag indicating whether this service supports OpenID Federation 1.0.If the feature of OpenID Federation 1.0 is not enabled in the Authlete server on which this service is hosted, functions related to OpenID Federation 1.0 are not usable regardless of the setting of this property.
OpenID Federation 1.0 is supported by Authlete 2.3 onwards.
- Parameters:
enabled-trueto enable the feature of OpenID Federation 1.0.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getOrganizationName
public String getOrganizationName()
Get the human-readable name representing the organization that operates this service. This property corresponds to theorganization_nameserver metadata that is defined in OpenID Federation 1.0.If this property is not empty, the
organization_nameproperty appears in self-signed entity statements of this service.- Returns:
- The name of the organization that operates this service.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setOrganizationName
public Service setOrganizationName(String name)
Set the human-readable name representing the organization that operates this service. This property corresponds to theorganization_nameserver metadata that is defined in OpenID Federation 1.0.If this property is not empty, the
organization_nameproperty appears in self-signed entity statements of this service.- Parameters:
name- The name of the organization that operates this service.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getAuthorityHints
public URI[] getAuthorityHints()
Get the identifiers of entities that can issue entity statements for this service. This property corresponds to theauthority_hintsproperty that appears in a self-signed entity statement that is defined in OpenID Federation 1.0.OpenID providers participating in one or more federations are supposed to have authority hints. It is only trust anchors having no superiors that do not have authority hints.
Because the
authority_hintsproperty in self-signed entity statements of OpenID providers is mandatory, if this property is empty, the configuration endpoint (/.well-known/openid-federation) cannot generate a valid entity statement. It means that OpenID Federation 1.0 does not work.- Returns:
- Identifiers of entities that can issue entity statements for this service.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setAuthorityHints
public Service setAuthorityHints(URI[] authorityHints)
Set the identifiers of entities that can issue entity statements for this service. This property corresponds to theauthority_hintsproperty that appears in a self-signed entity statement that is defined in OpenID Federation 1.0.OpenID providers participating in one or more federations are supposed to have authority hints. It is only trust anchors having no superiors that do not have authority hints.
Because the
authority_hintsproperty in self-signed entity statements of OpenID providers is mandatory, if this property is empty, the configuration endpoint (/.well-known/openid-federation) cannot generate a valid entity statement. It means that OpenID Federation 1.0 does not work.- Parameters:
authorityHints- Identifiers of entities that can issue entity statements for this service.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getTrustAnchors
public TrustAnchor[] getTrustAnchors()
Get the trust anchors that are referenced when this service resolves trust chains of relying parties.If this property is empty, client registration fails regardless of whether its type is
automaticorexplicit. It means that OpenID Federation 1.0 does not work.- Returns:
- The trust anchors that are referenced when this service resolves trust chains of relying parties.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0,
TrustAnchor
-
setTrustAnchors
public Service setTrustAnchors(TrustAnchor[] trustAnchors)
Set the trust anchors that are referenced when this service resolves trust chains of relying parties.If this property is empty, client registration fails regardless of whether its type is
automaticorexplicit. It means that OpenID Federation 1.0 does not work.- Parameters:
trustAnchors- The trust anchors that are referenced when this service resolves trust chains of relying parties.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0,
TrustAnchor
-
getFederationJwks
public String getFederationJwks()
Get the JWK Set document containing keys that are used to sign (1) self-signed entity statement of this service and (2) the response fromsigned_jwks_uri.If this property is empty, this service cannot generate a valid self-signed entity statement. It means that OpenID Federation 1.0 does not work.
- Returns:
- The JWK Set document containing keys used to sign self-signed
entity statement and the response from
signed_jwks_uri. - Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setFederationJwks
public Service setFederationJwks(String jwks)
Set the JWK Set document containing keys that are used to sign (1) self-signed entity statement of this service and (2) the response fromsigned_jwks_uri.If this property is empty, this service cannot generate a valid self-signed entity statement. It means that OpenID Federation 1.0 does not work.
- Parameters:
jwks- The JWK Set document containing keys used to sign self-signed entity statement and the response fromsigned_jwks_uri.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getFederationSignatureKeyId
public String getFederationSignatureKeyId()
Get the key ID to identify a JWK that should be used to sign the entity configuration and the signed JWK Set.The entity configuration is a kind of JWT and published at
/.well-known/openid-federationor at a variant location such as/.well-known/openid-federation{path_part_of_issuer}.The signed JWK Set is also a kind of JWT and published at the URL designated by the
signed_jwks_uriserver metadata.When this property is specified, Authlete will use the JWK having the specified key ID when signing the entity configuration and the signed JWK Set. Otherwise, when this property is omitted, there is no guarantee as to which JWK Authlete will choose.
- Returns:
- A key ID. May be
null. - Since:
- 3.31, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setFederationSignatureKeyId
public Service setFederationSignatureKeyId(String keyId)
Set the key ID to identify a JWK that should be used to sign the entity configuration and the signed JWK Set.The entity configuration is a kind of JWT and published at
/.well-known/openid-federationor at a variant location such as/.well-known/openid-federation{path_part_of_issuer}.The signed JWK Set is also a kind of JWT and published at the URL designated by the
signed_jwks_uriserver metadata.When this property is specified, Authlete will use the JWK having the specified key ID when signing the entity configuration and the signed JWK Set. Otherwise, when this property is omitted, there is no guarantee as to which JWK Authlete will choose.
- Parameters:
keyId- A key ID. May benull.- Returns:
thisobject.- Since:
- 3.31, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getFederationConfigurationDuration
public long getFederationConfigurationDuration()
Get the duration of the entity configuration in seconds.An OpenID provider that participates in an OpenID Connect federation must publish its entity configuration at
/.well-known/openid-federationor at a variant location such as/.well-known/openid-federation{path_part_of_issuer}. An entity configuration is a kind of JWT. This property specifies the duration of the JWT in seconds.When the value of this property is 0, the default value determined by your Authlete server is used as the duration of the entity configuration.
- Returns:
- The duration of the entity configuration in seconds.
- Since:
- 3.31, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setFederationConfigurationDuration
public Service setFederationConfigurationDuration(long duration)
Set the duration of the entity configuration in seconds.An OpenID provider that participates in an OpenID Connect federation must publish its entity configuration at
/.well-known/openid-federationor at a variant location such as/.well-known/openid-federation{path_part_of_issuer}. An entity configuration is a kind of JWT. This property specifies the duration of the JWT in seconds.When the value of this property is 0, the default value determined by your Authlete server is used as the duration of the entity configuration.
- Parameters:
duration- The duration of the entity configuration in seconds.- Returns:
thisobject.- Since:
- 3.31, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getSignedJwksUri
public URI getSignedJwksUri()
Get the URI of the endpoint that returns this service's JWK Set document in the JWT format. This property corresponds to thesigned_jwks_uriserver metadata defined in OpenID Federation 1.0.The JWT returned from the endpoint is signed with a key in the JWK Set document specified by the
federationJwksproperty. Therefore, if thefederationJwksproperty is not set up properly, the endpoint won't return a valid response.If this property is not empty, the
signed_jwks_uriproperty appears in theopenid_providerproperty of this service's entity configuration. And in that case,jwks_uridoes not appear in exchange.- Returns:
- The URI of the endpoint that returns this service's JWK Set document in the JWT format.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setSignedJwksUri
public Service setSignedJwksUri(URI uri)
Set the URI of the endpoint that returns this service's JWK Set document in the JWT format. This property corresponds to thesigned_jwks_uriserver metadata defined in OpenID Federation 1.0.The JWT returned from the endpoint is signed with a key in the JWK Set document specified by the
federationJwksproperty. Therefore, if thefederationJwksproperty is not set up properly, the endpoint won't return a valid response.If this property is not empty, the
signed_jwks_uriproperty appears in theopenid_providerproperty of this service's entity configuration. And in that case,jwks_uridoes not appear in exchange.- Parameters:
uri- The URI of the endpoint that returns this service's JWK Set document in the JWT format.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getFederationRegistrationEndpoint
public URI getFederationRegistrationEndpoint()
Get the URI of the federation registration endpoint. This property corresponds to thefederation_registration_endpointserver metadata that is defined in OpenID Federation 1.0.If this service declares it supports the "
explicit" client registration, this property must not be empty.- Returns:
- The URI of the federation registration endpoint.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
setFederationRegistrationEndpoint
public Service setFederationRegistrationEndpoint(URI endpoint)
Set the URI of the federation registration endpoint. This property corresponds to thefederation_registration_endpointserver metadata that is defined in OpenID Federation 1.0.If this service declares it supports the "
explicit" client registration, this property must not be empty.- Parameters:
endpoint- The URI of the federation registration endpoint.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0
-
getSupportedClientRegistrationTypes
public ClientRegistrationType[] getSupportedClientRegistrationTypes()
Get the client registration types supported by this service. This property corresponds to theclient_registration_types_supportedserver metadata that is defined in OpenID Federation 1.0.If this property includes
EXPLICIT, thefederationRegistrationEndpointproperty must be set up properly.- Returns:
- Client registration types supported by this service.
- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0,
ClientRegistrationType
-
setSupportedClientRegistrationTypes
public Service setSupportedClientRegistrationTypes(ClientRegistrationType[] types)
Set the client registration types supported by this service. This property corresponds to theclient_registration_types_supportedserver metadata that is defined in OpenID Federation 1.0.If this property includes
EXPLICIT, thefederationRegistrationEndpointproperty must be set up properly.- Parameters:
types- Client registration types supported by this service.- Returns:
thisobject.- Since:
- 3.22, Authlete 2.3
- See Also:
- OpenID Federation 1.0,
ClientRegistrationType
-
isTokenExchangeByIdentifiableClientsOnly
public boolean isTokenExchangeByIdentifiableClientsOnly()
Get the flag indicating whether to prohibit unidentifiable clients from making token exchange requests (cf. RFC 8693).Section 2.1 of RFC 8692 OAuth 2.0 Token Exchange states as follows:
The supported methods of client authentication and whether or not to allow unauthenticated or unidentified clients are deployment decisions that are at the discretion of the authorization server.
Technically speaking, "unidentified" in the excerpted sentence means that a token exchange request contains no identifier of the client that made the request.
When this flag is set to
true, this service rejects token exchange requests that contain no client identifier.- Returns:
trueif this service rejects token exchange requests that contain no client identifier.- Since:
- 3.26, Authlete 2.3
- See Also:
- RFC 8693 OAuth 2.0 Token Exchange
-
setTokenExchangeByIdentifiableClientsOnly
public Service setTokenExchangeByIdentifiableClientsOnly(boolean only)
Set the flag indicating whether to prohibit unidentifiable clients from making token exchange requests (cf. RFC 8693).Section 2.1 of RFC 8692 OAuth 2.0 Token Exchange states as follows:
The supported methods of client authentication and whether or not to allow unauthenticated or unidentified clients are deployment decisions that are at the discretion of the authorization server.
Technically speaking, "unidentified" in the excerpted sentence means that a token exchange request contains no identifier of the client that made the request.
When this flag is set to
true, this service rejects token exchange requests that contain no client identifier.- Parameters:
only-trueto reject token exchange requests that contain no client identifier.- Returns:
thisobject.- Since:
- 3.26, Authlete 2.3
- See Also:
- RFC 8693 OAuth 2.0 Token Exchange
-
isTokenExchangeByConfidentialClientsOnly
public boolean isTokenExchangeByConfidentialClientsOnly()
Get the flag indicating whether to prohibit public clients from making token exchange requests (cf. RFC 8693).Section 2.1 of RFC 8692 OAuth 2.0 Token Exchange states as follows:
The supported methods of client authentication and whether or not to allow unauthenticated or unidentified clients are deployment decisions that are at the discretion of the authorization server.
Technically speaking, "unauthenticated" in the excerpted sentence means that the client making a token exchange request is a public client and so client authentication for the client is not required at the token endpoint.
When this flag is set to
true, this service rejects token exchange requests from public clients.- Returns:
trueif this service rejects token exchange requests from public clients.- Since:
- 3.26, Authlete 2.3
- See Also:
- RFC 8693 OAuth 2.0 Token Exchange
-
setTokenExchangeByConfidentialClientsOnly
public Service setTokenExchangeByConfidentialClientsOnly(boolean only)
Set the flag indicating whether to prohibit public clients from making token exchange requests (cf. RFC 8693).Section 2.1 of RFC 8692 OAuth 2.0 Token Exchange states as follows:
The supported methods of client authentication and whether or not to allow unauthenticated or unidentified clients are deployment decisions that are at the discretion of the authorization server.
Technically speaking, "unauthenticated" in the excerpted sentence means that the client making a token exchange request is a public client and so client authentication for the client is not required at the token endpoint.
When this flag is set to
true, this service rejects token exchange requests from public clients.- Parameters:
only-trueto reject token exchange requests from public clients.- Returns:
thisobject.- Since:
- 3.26, Authlete 2.3
- See Also:
- RFC 8693 OAuth 2.0 Token Exchange
-
isTokenExchangeByPermittedClientsOnly
public boolean isTokenExchangeByPermittedClientsOnly()
Get the flag indicating whether to prohibit clients which have no explicit permission from making token exchange requests (cf. RFC 8693).An administrator can give a client an explicit permission to make token exchange requests by setting
trueto thetokenExchangePermittedflag of the client (cf.ClientExtension.setTokenExchangePermitted(boolean)).When this flag (
tokenExchangeByPermittedClientsOnly) is set totrue, this service rejects token exchange requests from clients whosetokenExchangePermittedflag isfalse.- Returns:
trueif this service rejects token exchange requests from clients whosetokenExchangePermittedflag isfalse.- Since:
- 3.26, Authlete 2.3
- See Also:
ClientExtension.isTokenExchangePermitted(), RFC 8693 OAuth 2.0 Token Exchange
-
setTokenExchangeByPermittedClientsOnly
public Service setTokenExchangeByPermittedClientsOnly(boolean only)
Set the flag indicating whether to prohibit clients which have no explicit permission from making token exchange requests (cf. RFC 8693).An administrator can give a client an explicit permission to make token exchange requests by setting
trueto thetokenExchangePermittedflag of the client (cf.ClientExtension.setTokenExchangePermitted(boolean)).When this flag (
tokenExchangeByPermittedClientsOnly) is set totrue, this service rejects token exchange requests from clients whosetokenExchangePermittedflag isfalse.- Parameters:
only-trueto reject token exchange requests from clients whosetokenExchangePermittedflag isfalse.- Returns:
thisobject.- Since:
- 3.26, Authlete 2.3
- See Also:
ClientExtension.setTokenExchangePermitted(boolean), RFC 8693 OAuth 2.0 Token Exchange
-
isTokenExchangeEncryptedJwtRejected
public boolean isTokenExchangeEncryptedJwtRejected()
Get the flag indicating whether to reject token exchange requests which use encrypted JWTs as input tokens.When this
tokenExchangeEncryptedJwtRejectedflag istrue, token exchange requests which use encrypted JWTs as input tokens (subject token and/or actor token) with the token type"urn:ietf:params:oauth:token-type:jwt"or the token type"urn:ietf:params:oauth:token-type:id_token"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input token when Authlete detects that it is an encrypted JWT.See the description of
TokenResponsefor details about validation Authlete performs for token exchange requests.- Returns:
trueif token exchange requests which use encrypted JWTs as input tokens are rejected.- Since:
- 3.27, Authlete 2.3
- See Also:
TokenResponse, RFC 8693 OAuth 2.0 Token Exchange
-
setTokenExchangeEncryptedJwtRejected
public Service setTokenExchangeEncryptedJwtRejected(boolean rejected)
Set the flag indicating whether to reject token exchange requests which use encrypted JWTs as input tokens.When this
tokenExchangeEncryptedJwtRejectedflag istrue, token exchange requests which use encrypted JWTs as input tokens (subject token and/or actor token) with the token type"urn:ietf:params:oauth:token-type:jwt"or the token type"urn:ietf:params:oauth:token-type:id_token"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input token when Authlete detects that it is an encrypted JWT.See the description of
TokenResponsefor details about validation Authlete performs for token exchange requests.- Parameters:
rejected-trueto reject token exchange requests which use encrypted JWTs as input tokens.- Returns:
thisobject.- Since:
- 3.27, Authlete 2.3
- See Also:
TokenResponse, RFC 8693 OAuth 2.0 Token Exchange
-
isTokenExchangeUnsignedJwtRejected
public boolean isTokenExchangeUnsignedJwtRejected()
Get the flag indicating whether to reject token exchange requests which use unsigned JWTs as input tokens.When this
tokenExchangeUnsignedJwtRejectedflag istrue, token exchange requests which use unsigned JWTs as input tokens (subject token and/or actor token) with the token type"urn:ietf:params:oauth:token-type:jwt"or the token type"urn:ietf:params:oauth:token-type:id_token"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input token when Authlete detects that it is an unsigned JWT.See the description of
TokenResponsefor details about validation Authlete performs for token exchange requests.- Returns:
trueif token exchange requests which use unsigned JWTs as input tokens are rejected.- Since:
- 3.27, Authlete 2.3
- See Also:
TokenResponse, RFC 8693 OAuth 2.0 Token Exchange
-
setTokenExchangeUnsignedJwtRejected
public Service setTokenExchangeUnsignedJwtRejected(boolean rejected)
Set the flag indicating whether to reject token exchange requests which use unsigned JWTs as input tokens.When this
tokenExchangeUnsignedJwtRejectedflag istrue, token exchange requests which use unsigned JWTs as input tokens (subject token and/or actor token) with the token type"urn:ietf:params:oauth:token-type:jwt"or the token type"urn:ietf:params:oauth:token-type:id_token"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input token when Authlete detects that it is an unsigned JWT.See the description of
TokenResponsefor details about validation Authlete performs for token exchange requests.- Parameters:
rejected-trueto reject token exchange requests which use unsigned JWTs as input tokens.- Returns:
thisobject.- Since:
- 3.27, Authlete 2.3
- See Also:
TokenResponse, RFC 8693 OAuth 2.0 Token Exchange
-
isJwtGrantByIdentifiableClientsOnly
public boolean isJwtGrantByIdentifiableClientsOnly()
Get the flag indicating whether to prohibit unidentifiable clients from using the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants states as follows:
JWT authorization grants may be used with or without client authentication or identification.
Technically speaking, "identification" in the excerpted sentence means that a token request contains an identifier of the client that made the request.
When this flag is set to
true, this service rejects token requests that use the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"but contain no client identifier.- Returns:
trueif this service rejects token requests that use the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"but contain no client identifier.- Since:
- 3.30, Authlete 2.3
- See Also:
- RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
setJwtGrantByIdentifiableClientsOnly
public Service setJwtGrantByIdentifiableClientsOnly(boolean only)
Set the flag indicating whether to prohibit unidentifiable clients from using the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants states as follows:
JWT authorization grants may be used with or without client authentication or identification.
Technically speaking, "identification" in the excerpted sentence means that a token request contains an identifier of the client that made the request.
When this flag is set to
true, this service rejects token requests that use the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"but contain no client identifier.- Parameters:
only-trueto reject token requests that use the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"but contain no client identifier.- Returns:
thisservice.- Since:
- 3.30, Authlete 2.3
- See Also:
- RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
isJwtGrantEncryptedJwtRejected
public boolean isJwtGrantEncryptedJwtRejected()
Get the flag indicating whether to reject token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).When this
jwtGrantEncryptedJwtRejectedflag istrue, token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input assertion when Authlete detects that it is an encrypted JWT.See the description of
TokenResponsefor details about validation Authlete performs for the grant type.- Returns:
trueif token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.- Since:
- 3.30, Authlete 2.3
- See Also:
TokenResponse, RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
setJwtGrantEncryptedJwtRejected
public Service setJwtGrantEncryptedJwtRejected(boolean rejected)
Set the flag indicating whether to reject token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).When this
jwtGrantEncryptedJwtRejectedflag istrue, token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input assertion when Authlete detects that it is an encrypted JWT.See the description of
TokenResponsefor details about validation Authlete performs for the grant type.- Parameters:
rejected-trueto reject token requests that use an encrypted JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer".- Returns:
thisobject.- Since:
- 3.30, Authlete 2.3
- See Also:
TokenResponse, RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
isJwtGrantUnsignedJwtRejected
public boolean isJwtGrantUnsignedJwtRejected()
Get the flag indicating whether to reject token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).When this
jwtGrantUnsignedJwtRejectedflag istrue, token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input assertion when Authlete detects that it is an unsigned JWT.See the description of
TokenResponsefor details about validation Authlete performs for the grant type.- Returns:
trueif token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.- Since:
- 3.30, Authlete 2.3
- See Also:
TokenResponse, RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
setJwtGrantUnsignedJwtRejected
public Service setJwtGrantUnsignedJwtRejected(boolean rejected)
Set the flag indicating whether to reject token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"(RFC 7523).When this
jwtGrantUnsignedJwtRejectedflag istrue, token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer"are rejected.When this flag is
false, Authlete skips remaining validation steps on an input assertion when Authlete detects that it is an unsigned JWT.See the description of
TokenResponsefor details about validation Authlete performs for the grant type.- Parameters:
rejected-trueto reject token requests that use an unsigned JWT as an authorization grant with the grant type"urn:ietf:params:oauth:grant-type:jwt-bearer".- Returns:
thisobject.- Since:
- 3.30, Authlete 2.3
- See Also:
TokenResponse, RFC 7521 Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants, RFC 7523 JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants
-
isDcrDuplicateSoftwareIdBlocked
public boolean isDcrDuplicateSoftwareIdBlocked()
Get the flag indicating whether to block DCR (Dynamic Client Registration) requests whosesoftware_idhas already been used previously.A DCR request may contain the
software_idclient metadata (which is defined in RFC 7591). The client metadata is saved in Authlete's database together with other client metadata.If this
dcrDuplicateSoftwareIdBlockedflag istrue, Authlete checks whether the value of thesoftware_idclient metadata included in a DCR request already exists in the database, and rejects the DCR request if one exists.- Returns:
trueif DCR requests whosesoftware_idhas already been used previously are blocked.- Since:
- 3.32, Authlete 2.2.30
- See Also:
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol
-
setDcrDuplicateSoftwareIdBlocked
public Service setDcrDuplicateSoftwareIdBlocked(boolean blocked)
Set the flag indicating whether to block DCR (Dynamic Client Registration) requests whosesoftware_idhas already been used previously.A DCR request may contain the
software_idclient metadata (which is defined in RFC 7591). The client metadata is saved in Authlete's database together with other client metadata.If this
dcrDuplicateSoftwareIdBlockedflag istrue, Authlete checks whether the value of thesoftware_idclient metadata included in a DCR request already exists in the database, and rejects the DCR request if one exists.- Parameters:
blocked-trueto block DCR requests whosesoftware_idhas already been used previously.- Returns:
thisobject.- Since:
- 3.32, Authlete 2.2.30
- See Also:
- RFC 7591 OAuth 2.0 Dynamic Client Registration Protocol
-
getResourceSignatureKeyId
public String getResourceSignatureKeyId()
Get the key ID of a JWK containing the private key used by this service to sign responses from the resource server, such as the userinfo endpoint and responses sent to the RS signing endpoint.- Returns:
- The key ID.
- Since:
- 3.39, Authlete 2.3
-
setResourceSignatureKeyId
public Service setResourceSignatureKeyId(String keyId)
Set the key ID of a JWK containing the private key used by this service to sign responses from the resource server, such as the userinfo endpoint and responses sent to the RS signing endpoint.- Parameters:
keyId- The key ID.- Returns:
thisobject.- Since:
- 3.39, Authlete 2.3
-
isRsResponseSigned
public boolean isRsResponseSigned()
Get whether the service signs responses from the resource server. Iftrue, userinfo issue responses and responses sent to the RS signing endpoint that are in relation to a client's signed request will be signed using the key identified by {getResourceSignatureKeyId().- Returns:
trueif the services signs responses for the resource server,falseotherwise.- Since:
- 3.39, Authlete 2.3
-
setRsResponseSigned
public Service setRsResponseSigned(boolean signed)
Set whether the service signs responses from the resource server. Iftrue, userinfo issue responses and responses sent to the RS signing endpoint that are in relation to a client's signed request will be signed using the key identified by {getResourceSignatureKeyId().- Parameters:
signed-trueif the services signs responses for the resource server,falseotherwise.- Returns:
thisobject.- Since:
- 3.39, Authlete 2.3
-
isOpenidDroppedOnRefreshWithoutOfflineAccess
public boolean isOpenidDroppedOnRefreshWithoutOfflineAccess()
Get the flag indicating whether to remove theopenidscope from a new access token issued by the refresh token flow if the presented refresh token does not contain theoffline_accessscope.- Returns:
trueif theopenidscope is dropped when the presented refresh token does not contain theoffline_accessscope.- Since:
- 3.42, Authlete 2.2.36
-
setOpenidDroppedOnRefreshWithoutOfflineAccess
public Service setOpenidDroppedOnRefreshWithoutOfflineAccess(boolean dropped)
Set the flag indicating whether to remove theopenidscope from a new access token issued by the refresh token flow if the presented refresh token does not contain theoffline_accessscope.- Parameters:
dropped-trueto drop theopenidscope when the presented refresh token does not contain theoffline_accessscope.- Returns:
thisobject.- Since:
- 3.42, Authlete 2.2.36
-
isVerifiableCredentialsEnabled
public boolean isVerifiableCredentialsEnabled()
Get the flag indicating whether the feature of Verifiable Credentials for this service is enabled or not.- Returns:
trueif the feature of Verifiable Credentials is enabled.- Since:
- 3.55, Authlete 3.0
-
setVerifiableCredentialsEnabled
public Service setVerifiableCredentialsEnabled(boolean enabled)
Set the flag indicating whether the feature of Verifiable Credentials for this service is enabled or not.- Parameters:
enabled-trueto indicate that the feature of Verifiable Credentials is enabled.- Returns:
thisobject.- Since:
- 3.55, Authlete 3.0
-
getCredentialIssuerMetadata
public CredentialIssuerMetadata getCredentialIssuerMetadata()
Get the credential issuer metadata.- Returns:
- The credential issuer metadata.
- Since:
- 3.55, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
setCredentialIssuerMetadata
public Service setCredentialIssuerMetadata(CredentialIssuerMetadata metadata)
Set the credential issuer metadata.- Parameters:
metadata- The credential issuer metadata.- Returns:
thisobject.- Since:
- 3.55, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance
-
getCredentialOfferDuration
public long getCredentialOfferDuration()
Get the default duration of credential offers in seconds.When an API call to the
/vci/offer/createAPI does not contain thedurationrequest parameter or the value of the parameter is 0 or negative, the value of this property is used as the default value.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
- Returns:
- The default duration of credential offers in seconds.
- Since:
- 3.59, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance,
CredentialOfferCreateRequest.getDuration()
-
setCredentialOfferDuration
public Service setCredentialOfferDuration(long duration)
Set the default duration of credential offers in seconds.When an API call to the
/vci/offer/createAPI does not contain thedurationrequest parameter or the value of the parameter is 0 or negative, the value of this property is used as the default value.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
- Parameters:
duration- The default duration of credential offers in seconds.- Returns:
thisobject.- Since:
- 3.59, Authlete 3.0
- See Also:
- OpenID for Verifiable Credential Issuance,
CredentialOfferCreateRequest.setDuration(long)
-
getUserPinLength
@Deprecated public int getUserPinLength()
Deprecated.Get the default length of user PINs.When an API call to the
/vci/offer/createAPI does not contain theuserPinLengthrequest parameter or the value of the parameter is 0 or negative, the value of this property is used as the default value.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
NOTE: This property has been deprecated due to a breaking change of the OID4VCI specification. The
/vci/offer/createAPI no longer recognizes theuserPinLengthrequest parameter.- Returns:
- The default length of user PINs.
- Since:
- 3.59, Authlete 3.0
- See Also:
CredentialOfferCreateRequest#getUserPinLength()
-
setUserPinLength
@Deprecated public Service setUserPinLength(int length)
Deprecated.Set the default length of user PINs.When an API call to the
/vci/offer/createAPI does not contain theuserPinLengthrequest parameter or the value of the parameter is 0 or negative, the value of this property is used as the default value.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
NOTE: This property has been deprecated due to a breaking change of the OID4VCI specification. The
/vci/offer/createAPI no longer recognizes theuserPinLengthrequest parameter.- Parameters:
length- The default length of user PINs.- Returns:
thisobject.- Since:
- 3.59, Authlete 3.0
- See Also:
CredentialOfferCreateRequest#setUserPinLength(int)
-
getIdTokenAudType
public String getIdTokenAudType()
Get the type of theaudclaim in ID tokens. Valid values are as follows.Value Description "array"The type of the audclaim is always an array of strings."string"The type of the audclaim is always a single string.null The type of the audclaim remains the same as before.Authlete APIs that may trigger ID token issuance may accept the
idTokenAudTyperequest parameter (e.g.AuthorizationIssueRequest.getIdTokenAudType()). Such request parameters take precedence over this service property.- Returns:
- The type of the
audclaim in ID tokens. - Since:
- 3.57, Authlete 2.3.3
-
setIdTokenAudType
public Service setIdTokenAudType(String type)
Set the type of theaudclaim in ID tokens. Valid values are as follows.Value Description "array"The type of the audclaim is always an array of strings."string"The type of the audclaim is always a single string.null The type of the audclaim remains the same as before.Authlete APIs that may trigger ID token issuance may accept the
idTokenAudTyperequest parameter (e.g.AuthorizationIssueRequest.getIdTokenAudType()). Such request parameters take precedence over this service property.- Parameters:
type- The type of theaudclaim in ID tokens.- Returns:
thisobject.- Since:
- 3.57, Authlete 2.3.3
-
getSupportedPromptValues
public Prompt[] getSupportedPromptValues()
Get the supportedpromptvalues.- Returns:
- The supported
promptvalues. - Since:
- 3.58, Authlete 3.0
- See Also:
- Initiating User Registration via OpenID Connect 1.0
-
setSupportedPromptValues
public Service setSupportedPromptValues(Prompt[] promptValues)
Set the supportedpromptvalues.- Parameters:
promptValues- The supportedpromptvalues.- Returns:
thisobject.- Since:
- 3.58, Authlete 3.0
- See Also:
- Initiating User Registration via OpenID Connect 1.0
-
getVerifiedClaimsValidationSchemaSet
public String getVerifiedClaimsValidationSchemaSet()
Get the name of the validation schema set that is used to validate the content of"verified_claims".Since version 2.3, Authlete validates the content of
"verified_claims"based on the JSON schema files that accompany the specification (OpenID Connect for Identity Assurance 1.0). They are found in the/schema/folder of the Git repository of the specification.Usually, Authlete uses the legitimate JSON schema files that conform to the specification. But, it is possible to make Authlete use a different set of JSON schema files by specifying a name of validation schema set through this property (
Service.verifiedClaimsValidationSchemaSet).Authlete recognizes the following names of validation schema set at least.
name description null Same as "standard"."standard"The set of the legitimate JSON schema files. "standard+id_document"A set of customized JSON schema files that mostly conform to the standard but additionally accept "id_document"as a valid name ofevidence. This is for backward compatibility. Note that"id_document"was deprecated by Implementer's Draft 4 (cf. eKYC-IDA PR 152).- Returns:
- The name of the validation schema set.
- Since:
- 3.61, Authlete 2.3.4
- See Also:
- OpenID Connect for Identity Assurance 1.0, eKYC-IDA PR 152: removal of deprecated items - issue 1334
-
setVerifiedClaimsValidationSchemaSet
public Service setVerifiedClaimsValidationSchemaSet(String schemaSet)
Set the name of the validation schema set that is used to validate the content of"verified_claims".Since version 2.3, Authlete validates the content of
"verified_claims"based on the JSON schema files that accompany the specification (OpenID Connect for Identity Assurance 1.0). They are found in the/schema/folder of the Git repository of the specification.Usually, Authlete uses the legitimate JSON schema files that conform to the specification. But, it is possible to make Authlete use a different set of JSON schema files by specifying a name of validation schema set through this property (
Service.verifiedClaimsValidationSchemaSet).Authlete recognizes the following names of validation schema set at least.
name description null Same as "standard"."standard"The set of the legitimate JSON schema files. "standard+id_document"A set of customized JSON schema files that mostly conform to the standard but additionally accept "id_document"as a valid name ofevidence. This is for backward compatibility. Note that"id_document"was deprecated by Implementer's Draft 4 (cf. eKYC-IDA PR 152).- Parameters:
schemaSet- The name of the validation schema set.- Returns:
thisobject.- Since:
- 3.61, Authlete 2.3.4
- See Also:
- OpenID Connect for Identity Assurance 1.0, eKYC-IDA PR 152: removal of deprecated items - issue 1334
-
isPreAuthorizedGrantAnonymousAccessSupported
public boolean isPreAuthorizedGrantAnonymousAccessSupported()
Get the flag indicating whether token requests using the pre-authorized code grant flow by unidentifiable clients are allowed.This property corresponds to the
pre-authorized_grant_anonymous_access_supportedserver metadata defined in "OpenID for Verifiable Credentials Issuance".- Returns:
trueif token requests using the pre-authorized code grant flow by unidentifiable clients are allows.- Since:
- 3.62, Authlete 3.0
- See Also:
- OpenID for Verifiable Credentials Issuance
-
setPreAuthorizedGrantAnonymousAccessSupported
public Service setPreAuthorizedGrantAnonymousAccessSupported(boolean supported)
Set the flag indicating whether token requests using the pre-authorized code grant flow by unidentifiable clients are allowed.This property corresponds to the
pre-authorized_grant_anonymous_access_supportedserver metadata defined in "OpenID for Verifiable Credentials Issuance".- Parameters:
supported-trueto allow unidentifiable clients to make token requests using the pre-authorized code grant flow.- Returns:
thisobject.- Since:
- 3.62, Authlete 3.0
- See Also:
- OpenID for Verifiable Credentials Issuance
-
getCnonceDuration
public long getCnonceDuration()
Get the duration ofc_noncein seconds.c_nonceis issued from the token endpoint of an authorization server in the pre-authorized code flow, and from the credential endpoint and the batch credential endpoint of a credential issuer. This property is used as the lifetime of thec_nonce.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
See OpenID for Verifiable Credentials Issuance for details about
c_nonce.The
getCNonceDuration()method added by the version 3.63 has been renamed togetCnonceDuration()by the version 3.90.- Returns:
- The duration of
c_noncein seconds. - Since:
- 3.90, Authlete 3.0
- See Also:
- OpenID for Verifiable Credentials Issuance
-
setCnonceDuration
public Service setCnonceDuration(long duration)
Set the duration ofc_noncein seconds.c_nonceis issued from the token endpoint of an authorization server in the pre-authorized code flow, and from the credential endpoint and the batch credential endpoint of a credential issuer. This property is used as the lifetime of thec_nonce.If the value of this property is 0 or negative, the default value per Authlete server is used as the default value.
See OpenID for Verifiable Credentials Issuance for details about
c_nonce.The
setCNonceDuration(long)method added by the version 3.63 has been renamed tosetCnonceDuration(long)by the version 3.90.- Parameters:
duration- The duration ofc_noncein seconds.- Returns:
thisobject.- Since:
- 3.90, Authlete 3.0
- See Also:
- OpenID for Verifiable Credentials Issuance
-
getCredentialTransactionDuration
public long getCredentialTransactionDuration()
Get the duration of transaction ID in seconds that may be issued as a result of a credential request or a batch credential request.If the value of this property is 0 or negative, the default value per Authlete server is used.
- Returns:
- The duration of transaction ID in seconds.
- Since:
- 3.66, Authlete 3.0
-
setCredentialTransactionDuration
public Service setCredentialTransactionDuration(long duration)
Set the duration of transaction ID in seconds that may be issued as a result of a credential request or a batch credential request.If the value of this property is 0 or negative, the default value per Authlete server is used.
- Parameters:
duration- The duration of transaction ID in seconds.- Returns:
thisobject.- Since:
- 3.66, Authlete 3.0
-
getCredentialDuration
public long getCredentialDuration()
Get the default duration of verifiable credentials in seconds.Some Authlete APIs such as the
/vci/single/issueAPI and the/vci/batch/issueAPI may issue one or more verifiable credentials. The value of this property specifies the default duration of such verifiable credentials.The value 0 indicates that verifiable credentials will not expire. In the case, verifiable credentials will not have a property that indicates the expiration time. For example, JWT-based verifiable credentials will not contain the "
exp" claim (RFC 7519, Section 4.1.4).Authlete APIs that may issue verifiable credentials recognize a request parameter that can override the duration. For example, a request to the
/vci/single/issueAPI (CredentialSingleIssueRequest) contains an "order" object (CredentialIssuanceOrder) that has a "credentialDuration" parameter (credentialDuration) that can override the default duration.- Returns:
- The default duration of verifiable credentials in seconds.
- Since:
- 3.67, Authlete 3.0
-
setCredentialDuration
public Service setCredentialDuration(long duration)
Set the default duration of verifiable credentials in seconds.Some Authlete APIs such as the
/vci/single/issueAPI and the/vci/batch/issueAPI may issue one or more verifiable credentials. The value of this property specifies the default duration of such verifiable credentials.The value 0 indicates that verifiable credentials will not expire. In the case, verifiable credentials will not have a property that indicates the expiration time. For example, JWT-based verifiable credentials will not contain the "
exp" claim (RFC 7519, Section 4.1.4).Authlete APIs that may issue verifiable credentials recognize a request parameter that can override the duration. For example, a request to the
/vci/single/issueAPI (CredentialSingleIssueRequest) contains an "order" object (CredentialIssuanceOrder) that has a "credentialDuration" parameter (credentialDuration) that can override the default duration.- Parameters:
duration- The default duration of verifiable credentials in seconds.- Returns:
thisobject.- Since:
- 3.67, Authlete 3.0
-
getCredentialJwks
public String getCredentialJwks()
Get the JWK Set document containing private keys that are used to sign verifiable credentials.Some Authlete APIs such as the
/vci/single/issueAPI and the/vci/batch/issueAPI may issue one or more verifiable credentials. The content of this property is referred to by such APIs.Authlete APIs that may issue verifiable credentials recognize a request parameter that can specify the key ID of a private key that should be used for signing. For example, a request to the
/vci/single/issueAPI (CredentialSingleIssueRequest) contains an "order" object (CredentialIssuanceOrder) that has a "signingKeyId" parameter (signingKeyId) that can specify the key ID of a private key to be used for signing. When a key ID is not specified, Authlete will select a private key automatically.If JWKs in the JWK Set do not contain the "
kid" property (RFC 7517, Section 4.5) when thiscredentialJwksproperty is updated, Authlete will automatically insert the "kid" property into such JWKs. The JWK thumbprint (RFC 7638) computed with the SHA-256 hash algorithm is used as the value of the "kid" property.- Returns:
- The JWK Set document containing private keys that are used to sign verifiable credentials.
- Since:
- 3.67, Authlete 3.0
- See Also:
- RFC 7517 JSON Web Key (JWK)
-
setCredentialJwks
public Service setCredentialJwks(String jwks)
Set the JWK Set document containing private keys that are used to sign verifiable credentials.Some Authlete APIs such as the
/vci/single/issueAPI and the/vci/batch/issueAPI may issue one or more verifiable credentials. The content of this property is referred to by such APIs.Authlete APIs that may issue verifiable credentials recognize a request parameter that can specify the key ID of a private key that should be used for signing. For example, a request to the
/vci/single/issueAPI (CredentialSingleIssueRequest) contains an "order" object (CredentialIssuanceOrder) that has a "signingKeyId" parameter (signingKeyId) that can specify the key ID of a private key to be used for signing. When a key ID is not specified, Authlete will select a private key automatically.If JWKs in the JWK Set do not contain the "
kid" property (RFC 7517, Section 4.5) when thiscredentialJwksproperty is updated, Authlete will automatically insert the "kid" property into such JWKs. The JWK thumbprint (RFC 7638) computed with the SHA-256 hash algorithm is used as the value of the "kid" property.- Parameters:
jwks- The JWK Set document containing private keys that are used to sign verifiable credentials.- Returns:
thisobject.- Since:
- 3.67, Authlete 3.0
- See Also:
- RFC 7517 JSON Web Key (JWK)
-
getCredentialJwksUri
public URI getCredentialJwksUri()
Get the URL at which the JWK Set document of the credential issuer is exposed.The value of this property is referenced when Authlete's
/vci/jwtissuerAPI generates the JSON representing the JWT issuer metadata. The JSON will be generated like below.{ "issuer": "getCredentialIssuerMetadata().getCredentialIssuer()", "jwks_uri": "getCredentialJwksUri()" }- Returns:
- The URL at which the JWK Set document of the credential issuer is exposed.
- Since:
- 3.79, Authlete 3.0
- See Also:
AuthleteApi.credentialJwtIssuerMetadata(CredentialJwtIssuerMetadataRequest)
-
setCredentialJwksUri
public Service setCredentialJwksUri(URI uri)
Set the URL at which the JWK Set document of the credential issuer is exposed.The value of this property is referenced when Authlete's
/vci/jwtissuerAPI generates the JSON representing the JWT issuer metadata. The JSON will be generated like below.{ "issuer": "getCredentialIssuerMetadata().getCredentialIssuer()", "jwks_uri": "getCredentialJwksUri()" }- Parameters:
uri- The URL at which the JWK Set document of the credential issuer is exposed.- Returns:
thisobject.- Since:
- 3.79, Authlete 3.0
- See Also:
AuthleteApi.credentialJwtIssuerMetadata(CredentialJwtIssuerMetadataRequest)
-
isIdTokenReissuable
public boolean isIdTokenReissuable()
Get the flag indicating whether to enable the feature of ID token reissuance in the refresh token flow.If this property is
true, theactionresponse parameter in a response from the/auth/tokenAPI becomesID_TOKEN_REISSUABLEwhen the following conditions are met.- The flow of the token request is the refresh token flow.
- The scope set after processing the token request still contains the
"
openid" scope. - The access token is associated with the subject of a user.
- The access token is associated with a client application.
See the description of the
TokenResponseclass for details.- Returns:
trueif the feature of ID token reissuance in the refresh token flow is enabled.falseif the feature is disabled.- Since:
- 3.68, Authlete 2.3.8, Authlete 3.0
- See Also:
TokenResponse
-
setIdTokenReissuable
public Service setIdTokenReissuable(boolean reissuable)
Set the flag indicating whether to enable the feature of ID token reissuance in the refresh token flow.If this property is
true, theactionresponse parameter in a response from the/auth/tokenAPI becomesID_TOKEN_REISSUABLEwhen the following conditions are met.- The flow of the token request is the refresh token flow.
- The scope set after processing the token request still contains the
"
openid" scope. - The access token is associated with the subject of a user.
- The access token is associated with a client application.
See the description of the
TokenResponseclass for details.- Parameters:
reissuable-trueto enable the feature of ID token reissuance in the refresh token flow.falseto disable the feature.- Returns:
thisobject.- Since:
- 3.68, Authlete 2.3.8, Authlete 3.0
- See Also:
TokenResponse
-
getIntrospectionSignatureKeyId
public String getIntrospectionSignatureKeyId()
Get the key ID of the key for signing introspection responses.- Returns:
- The key ID of the key for signing introspection responses.
- Since:
- 3.77, Authlete 3.0
- See Also:
- JWT Response for OAuth Token Introspection
-
setIntrospectionSignatureKeyId
public Service setIntrospectionSignatureKeyId(String keyId)
Set the key ID of the key for signing introspection responses.- Parameters:
keyId- The key ID of the key for signing introspection responses.- Returns:
thisobject.- Since:
- 3.77, Authlete 3.0
- See Also:
- JWT Response for OAuth Token Introspection
-
getFapiModes
public FapiMode[] getFapiModes()
Get the FAPI modes for this service.When the value of this property is not
null, Authlete always processes requests to this service based on the specified FAPI modes if the FAPI feature is enabled in Authlete and theFAPIprofile is supported by this service.For instance, when this property is set to an array containing
FAPI1_ADVANCEDonly, Authlete always processes requests to this service based on " Financial-grade API Security Profile 1.0 - Part 2: Advanced" if the FAPI feature is enabled in Authlete and theFAPIprofile is supported by this service.- Returns:
- The FAPI modes for this service.
- Since:
- 3.80, Authlete 3.0
- See Also:
- Financial-grade API Security Profile 1.0 - Part 2: Advanced
-
setFapiModes
public Service setFapiModes(FapiMode[] modes)
Set the FAPI modes for this service.When the value of this property is not
null, Authlete always processes requests to this service based on the specified FAPI modes if the FAPI feature is enabled in Authlete and theFAPIprofile is supported by this service.For instance, when this property is set to an array containing
FAPI1_ADVANCEDonly, Authlete always processes requests to this service based on " Financial-grade API Security Profile 1.0 - Part 2: Advanced" if the FAPI feature is enabled in Authlete and theFAPIprofile is supported by this service.- Parameters:
modes- The FAPI modes for this service.- Returns:
thisobject.- Since:
- 3.80, Authlete 3.0
- See Also:
- Financial-grade API Security Profile 1.0 - Part 2: Advanced
-
isDpopNonceRequired
public boolean isDpopNonceRequired()
Get the flag indicating whether to require DPoP proof JWTs to include thenonceclaim whenever they are presented.DPoP-aware Authlete APIs such as the
/auth/introspectionAPI and the/auth/tokenAPI recognize thedpopNonceRequiredrequest parameter, which enables API callers to require DPoP proof JWTs to include thenonceclaim at runtime, even if this service property is false.- Returns:
trueif DPoP proof JWTs are required to include thenonceclaim whenever they are presented.- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
setDpopNonceRequired
public Service setDpopNonceRequired(boolean required)
Set the flag indicating whether to require DPoP proof JWTs to include thenonceclaim whenever they are presented.DPoP-aware Authlete APIs such as the
/auth/introspectionAPI and the/auth/tokenAPI recognize thedpopNonceRequiredrequest parameter, which enables API callers to require DPoP proof JWTs to include thenonceclaim at runtime, even if this service property is false.- Parameters:
required-trueto require DPoP proof JWTs to include thenonceclaim whenever they are presented.- Returns:
thisobject.- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
getDpopNonceDuration
public long getDpopNonceDuration()
Get the duration of nonce values for DPoP proof JWTs in seconds.- Returns:
- The duration of nonce values for DPoP proof JWTs in seconds.
- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
setDpopNonceDuration
public Service setDpopNonceDuration(long duration)
Set the duration of nonce values for DPoP proof JWTs in seconds.- Parameters:
duration- The duration of nonce values for DPoP proof JWTs in seconds.- Returns:
thisobject.- Since:
- 3.82, Authlete 3.0
- See Also:
- RFC 9449 OAuth 2.0 Demonstrating Proof of Possession (DPoP)
-
getTokenBatchNotificationEndpoint
public URI getTokenBatchNotificationEndpoint()
Get the URI of the endpoint that receives token batch results.- Returns:
- The URI of the endpoint that receives token batch results.
- Since:
- 3.96, Authlete 3.0
-
setTokenBatchNotificationEndpoint
public Service setTokenBatchNotificationEndpoint(URI endpoint)
Set the URI of the endpoint that receives token batch results.- Parameters:
endpoint- The URI of the endpoint that receives token batch results.- Returns:
thisobject.- Since:
- 3.96, Authlete 3.0
-
isClientAssertionAudRestrictedToIssuer
public boolean isClientAssertionAudRestrictedToIssuer()
Get the flag to determine to restrict theaudclaim value in client assertions to the issuer of this service as a string.- Returns:
trueif theaudclaim value in client assertions is restricted to the issuer of this service as a string.- Since:
- 4.14, Authlete 3.0
-
setClientAssertionAudRestrictedToIssuer
public Service setClientAssertionAudRestrictedToIssuer(boolean restricted)
Set the flag to determine whether to restrict theaudclaim value in client assertions to the issuer of this service as a string.- Parameters:
restricted-trueto restrict theaudclaim value in client assertions to the issuer of this service as a string.- Returns:
thisobject.- Since:
- 4.14, Authlete 3.0
-
isNativeSsoSupported
public boolean isNativeSsoSupported()
Get the flag to determine to support the "OpenID Connect Native SSO for Mobile Apps 1.0" specification (a.k.a. "Native SSO").If this property is not set to
true, Native SSO-specific parameters will be ignored or treated as errors. For example, thedevice_ssoscope will have no special meaning (Authlete will not embed thesidclaim in the ID token), and theurn:token type will be treated as unknown, resulting in an error.openid: params: token-type: device-secret This property corresponds to the
native_sso_supportedserver metadata. If this property is set totrue,"native_sso_supported":truewill appear in the server metadata document (see OpenID Connect Discovery 1.0, Section 3. OpenID Provider Metadata; RFC 8414: OAuth 2.0 Authorization Server Metadata, Section 2. Authorization Server Metadata).The Native SSO specification is supported in Authlete 3.0 and later.
- Returns:
trueif the Native SSO specification is supported.- Since:
- 4.18, Authlete 3.0
- See Also:
- OpenID Connect Native SSO for Mobile Apps 1.0
-
setNativeSsoSupported
public Service setNativeSsoSupported(boolean supported)
Set the flag to determine to support the "OpenID Connect Native SSO for Mobile Apps 1.0" specification (a.k.a. "Native SSO").If this property is not set to
true, Native SSO-specific parameters will be ignored or treated as errors. For example, thedevice_ssoscope will have no special meaning (Authlete will not embed thesidclaim in the ID token), and theurn:token type will be treated as unknown, resulting in an error.openid: params: token-type: device-secret This property corresponds to the
native_sso_supportedserver metadata. If this property is set totrue,"native_sso_supported":truewill appear in the server metadata document (see OpenID Connect Discovery 1.0, Section 3. OpenID Provider Metadata; RFC 8414: OAuth 2.0 Authorization Server Metadata, Section 2. Authorization Server Metadata).The Native SSO specification is supported in Authlete 3.0 and later.
- Parameters:
supported-trueto support the Native SSO specification..- Returns:
thisobject.- Since:
- 4.18, Authlete 3.0
- See Also:
- OpenID Connect Native SSO for Mobile Apps 1.0
-
-