Class DefaultOpenIdProviderMetadata.Builder

java.lang.Object
io.micronaut.security.oauth2.client.DefaultOpenIdProviderMetadata.Builder
Enclosing class:
DefaultOpenIdProviderMetadata

public static class DefaultOpenIdProviderMetadata.Builder extends Object
Builder.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • authorizationEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder authorizationEndpoint(@Nullable String authorizationEndpoint)
      Parameters:
      authorizationEndpoint - URL of the Open ID Provider's OAuth 2.0 Authorization Endpoint
      Returns:
      The Builder
    • idTokenSigningAlgValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder idTokenSigningAlgValuesSupported(@NonNull List<String> idTokenSigningAlgValuesSupported)
      Parameters:
      idTokenSigningAlgValuesSupported - List of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT].
      Returns:
      The Builder
    • issuer

      @NonNull public DefaultOpenIdProviderMetadata.Builder issuer(@NonNull String issuer)
      Parameters:
      issuer - URL using the https scheme with no query or fragment component that the Open ID Provider asserts as its Issuer Identifier.
      Returns:
      The Builder
    • jwksUri

      @NonNull public DefaultOpenIdProviderMetadata.Builder jwksUri(@NonNull String jwksUri)
      Parameters:
      jwksUri - URL of the Open ID Provider's JSON Web Key Set
      Returns:
      The Builder
    • acrValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder acrValuesSupported(@NonNull List<String> acrValuesSupported)
      Parameters:
      acrValuesSupported - List of the Authentication Context Class References that this OP supports.
      Returns:
      The Builder
    • responseTypesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder responseTypesSupported(@Nullable List<String> responseTypesSupported)
      Parameters:
      responseTypesSupported - List of the OAuth 2.0 response_type values that this Open ID Provider supports.
      Returns:
      The Builder
    • responseModesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder responseModesSupported(@Nullable List<String> responseModesSupported)
      Parameters:
      responseModesSupported - List of the OAuth 2.0 response_mode values that this Open ID Provider supports.
      Returns:
      The Builder
    • scopesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder scopesSupported(@Nullable List<String> scopesSupported)
      Parameters:
      scopesSupported - List of the OAuth 2.0 [RFC6749] scope values that this server supports.
      Returns:
      The Builder
    • grantTypesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder grantTypesSupported(@Nullable List<String> grantTypesSupported)
      Parameters:
      grantTypesSupported - List of the OAuth 2.0 Grant Type values that this Open ID Provider supports.
      Returns:
      The Builder
    • subjectTypesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder subjectTypesSupported(@NonNull List<String> subjectTypesSupported)
      Parameters:
      subjectTypesSupported - List of the Subject Identifier types that this OP supports.
      Returns:
      The Builder
    • tokenEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder tokenEndpoint(@NonNull String tokenEndpoint)
      Parameters:
      tokenEndpoint - URL of the Open ID Provider's OAuth 2.0 Token Endpoint
      Returns:
      The Builder
    • tokenEndpointAuthMethodsSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder tokenEndpointAuthMethodsSupported(@Nullable List<String> tokenEndpointAuthMethodsSupported)
      Parameters:
      tokenEndpointAuthMethodsSupported - List of Client Authentication methods supported by this Token Endpoint.
      Returns:
      The Builder
    • userinfoEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder userinfoEndpoint(@Nullable String userinfoEndpoint)
      Parameters:
      userinfoEndpoint - URL of the Open ID Provider's UserInfo Endpoint
      Returns:
      The Builder
    • registrationEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder registrationEndpoint(@Nullable String registrationEndpoint)
      Parameters:
      registrationEndpoint - URL of the Open ID Provider's Dynamic Client Registration Endpoint
      Returns:
      The Builder
    • claimsSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder claimsSupported(@Nullable List<String> claimsSupported)
      Parameters:
      claimsSupported - List of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for.
      Returns:
      The Builder
    • codeChallengeMethodsSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder codeChallengeMethodsSupported(@Nullable List<String> codeChallengeMethodsSupported)
      Parameters:
      codeChallengeMethodsSupported - List of the supported transformation methods by the authorisation code verifier for Proof Key for Code Exchange (PKCE).
      Returns:
      The Builder
    • introspectionEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder introspectionEndpoint(@Nullable String introspectionEndpoint)
      Parameters:
      introspectionEndpoint - The fully qualified URL of the server's introspection endpoint defined by OAuth Token Introspection [RFC7662]
      Returns:
      The Builder
    • introspectionEndpointAuthMethodsSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder introspectionEndpointAuthMethodsSupported(@Nullable List<String> introspectionEndpointAuthMethodsSupported)
      Parameters:
      introspectionEndpointAuthMethodsSupported - List of Client Authentication methods supported by Introspection Endpoint
      Returns:
      The Builder
    • revocationEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder revocationEndpoint(@Nullable String revocationEndpoint)
      Parameters:
      revocationEndpoint - The fully qualified URL of the server's revocation endpoint defined by Oauth Token Revocation.
      Returns:
      The Builder
    • revocationEndpointAuthMethodsSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder revocationEndpointAuthMethodsSupported(@Nullable List<String> revocationEndpointAuthMethodsSupported)
      Parameters:
      revocationEndpointAuthMethodsSupported - List of Client Authentication methods supported by Revocation Endpoint
      Returns:
      The Builder
    • endSessionEndpoint

      @NonNull public DefaultOpenIdProviderMetadata.Builder endSessionEndpoint(@Nullable String endSessionEndpoint)
      Parameters:
      endSessionEndpoint - URL at the OP to which an RP can perform a redirect to request that the End-User be logged out at the OP.
      Returns:
      The Builder
    • requestParameterSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder requestParameterSupported(@Nullable Boolean requestParameterSupported)
      Parameters:
      requestParameterSupported - Boolean value specifying whether the OP supports use of the request parameter, with true indicating support.
      Returns:
      The Builder
    • requestUriParameterSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder requestUriParameterSupported(@Nullable Boolean requestUriParameterSupported)
      Parameters:
      requestUriParameterSupported - Boolean value specifying whether the OP supports use of the request_uri parameter, with true indicating support.
      Returns:
      The Builder
    • requireRequestUriRegistration

      @NonNull public DefaultOpenIdProviderMetadata.Builder requireRequestUriRegistration(@Nullable Boolean requireRequestUriRegistration)
      Parameters:
      requireRequestUriRegistration - Boolean value specifying whether the OP requires any request_uri values used to be pre-registered using the request_uris registration parameter. Pre-registration is REQUIRED when the value is true. If omitted, the default value is false.
      Returns:
      The Builder
    • requestObjectSigningAlgValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder requestObjectSigningAlgValuesSupported(@Nullable List<String> requestObjectSigningAlgValuesSupported)
      Parameters:
      requestObjectSigningAlgValuesSupported - List of the JWS signing algorithms (alg values) supported by the OP for Request Objects.
      Returns:
      The Builder
    • serviceDocumentation

      @NonNull public DefaultOpenIdProviderMetadata.Builder serviceDocumentation(@Nullable String serviceDocumentation)
      Parameters:
      serviceDocumentation - URL of a page containing human-readable information that developers might want or need to know when using the OpenID Provider.
      Returns:
      The Builder
    • idTokenEncryptionEncValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder idTokenEncryptionEncValuesSupported(@Nullable List<String> idTokenEncryptionEncValuesSupported)
      Parameters:
      idTokenEncryptionEncValuesSupported - List of the JWE encryption algorithms (enc values) supported by the OP for the ID Token to encode the Claims in a JWT [JWT].
      Returns:
      The Builder
    • displayValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder displayValuesSupported(@Nullable List<String> displayValuesSupported)
      Parameters:
      displayValuesSupported - List of the display parameter values that the OpenID Provider supports.
      Returns:
      The Builder
    • claimTypesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder claimTypesSupported(@Nullable List<String> claimTypesSupported)
      Parameters:
      claimTypesSupported - List of the Claim Types that the OpenID Provider supports.
      Returns:
      The Builder
    • claimsParameterSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder claimsParameterSupported(@NonNull Boolean claimsParameterSupported)
      Parameters:
      claimsParameterSupported - Boolean value specifying whether the OP supports use of the claims parameter.
      Returns:
      The Builder
    • opTosUri

      @NonNull public DefaultOpenIdProviderMetadata.Builder opTosUri(@Nullable String opTosUri)
      Parameters:
      opTosUri - URL that the OpenID Provider provides to the person registering the Client to read about OpenID Provider's terms of service.
      Returns:
      The Builder
    • opPolicyUri

      @NonNull public DefaultOpenIdProviderMetadata.Builder opPolicyUri(@Nullable String opPolicyUri)
      Parameters:
      opPolicyUri - URL that the 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 Builder
    • uriLocalesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder uriLocalesSupported(@Nullable List<String> uriLocalesSupported)
      Parameters:
      uriLocalesSupported - Languages and scripts supported for the user interface
      Returns:
      The Builder
    • claimsLocalesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder claimsLocalesSupported(@Nullable List<String> claimsLocalesSupported)
      Parameters:
      claimsLocalesSupported - Languages and scripts supported for values in Claims
      Returns:
      The Builder
    • userinfoEncryptionAlgValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder userinfoEncryptionAlgValuesSupported(@Nullable List<String> userinfoEncryptionAlgValuesSupported)
      Parameters:
      userinfoEncryptionAlgValuesSupported - List of the JWE [JWE] encryption algorithms (alg values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].
      Returns:
      The Builder
    • userinfoEncryptionEncValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder userinfoEncryptionEncValuesSupported(@Nullable List<String> userinfoEncryptionEncValuesSupported)
      Parameters:
      userinfoEncryptionEncValuesSupported - List of the JWE encryption algorithms (enc values) [JWA] supported by the UserInfo Endpoint to encode the Claims in a JWT [JWT].
      Returns:
      The Builder
    • tokenEndpointAuthSigningAlgValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder tokenEndpointAuthSigningAlgValuesSupported(@Nullable List<String> tokenEndpointAuthSigningAlgValuesSupported)
      Parameters:
      tokenEndpointAuthSigningAlgValuesSupported - List of the JWS signing algorithms (alg values) supported by the Token Endpoint.
      Returns:
      The Builder
    • requestObjectEncryptionAlgValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder requestObjectEncryptionAlgValuesSupported(@Nullable List<String> requestObjectEncryptionAlgValuesSupported)
      Parameters:
      requestObjectEncryptionAlgValuesSupported - list of the JWE encryption algorithms (alg values) supported by the OP for Request Objects.
      Returns:
      The Builder
    • requestObjectEncryptionEncValuesSupported

      @NonNull public DefaultOpenIdProviderMetadata.Builder requestObjectEncryptionEncValuesSupported(@Nullable List<String> requestObjectEncryptionEncValuesSupported)
      Parameters:
      requestObjectEncryptionEncValuesSupported - List of the JWE encryption algorithms (enc values) supported by the OP for Request Objects.
      Returns:
      The Builder
    • checkSessionIframe

      @NonNull public DefaultOpenIdProviderMetadata.Builder checkSessionIframe(@Nullable String checkSessionIframe)
      Parameters:
      checkSessionIframe - URL of an OP iframe that supports cross-origin communications for session state information with the RP Client, using the HTML5 postMessage API.
      Returns:
      The Builder
    • build

      @NonNull public DefaultOpenIdProviderMetadata build()
      Returns:
      a DefaultOpenIdProviderMetadata instance.