Class OauthClientConfigurationBuilder

java.lang.Object
io.micronaut.security.oauth2.configuration.OauthClientConfigurationBuilder

public final class OauthClientConfigurationBuilder extends Object
Builder for programmatic OauthClientConfiguration instances.
Since:
5.1.0
  • Constructor Details

    • OauthClientConfigurationBuilder

      public OauthClientConfigurationBuilder()
  • Method Details

    • name

      public @NonNull OauthClientConfigurationBuilder name(@NonNull String name)
      Sets the OAuth client configuration name.
      Parameters:
      name - The OAuth client configuration name.
      Returns:
      This builder.
    • clientId

      public @NonNull OauthClientConfigurationBuilder clientId(@NonNull String clientId)
      Sets the OAuth client identifier.
      Parameters:
      clientId - The OAuth client identifier.
      Returns:
      This builder.
    • clientSecret

      public @NonNull OauthClientConfigurationBuilder clientSecret(@Nullable String clientSecret)
      Sets the OAuth client secret.
      Parameters:
      clientSecret - The OAuth client secret.
      Returns:
      This builder.
    • scopes

      public @NonNull OauthClientConfigurationBuilder scopes(@NonNull List<String> scopes)
      Sets the requested scopes for the OAuth client.
      Parameters:
      scopes - The requested scopes.
      Returns:
      This builder.
    • scopes

      public @NonNull OauthClientConfigurationBuilder scopes(@NonNull String... scopes)
      Sets the requested scopes for the OAuth client.
      Parameters:
      scopes - The requested scopes.
      Returns:
      This builder.
    • enabled

      public @NonNull OauthClientConfigurationBuilder enabled(boolean enabled)
      Sets whether the OAuth client configuration is enabled.
      Parameters:
      enabled - Whether the OAuth client configuration is enabled.
      Returns:
      This builder.
    • grantType

      public @NonNull OauthClientConfigurationBuilder grantType(@NonNull GrantType grantType)
      Sets the OAuth grant type.
      Parameters:
      grantType - The OAuth grant type.
      Returns:
      This builder.
    • token

      public @NonNull OauthClientConfigurationBuilder token(@NonNull SecureEndpointConfiguration token)
      Sets the token endpoint configuration.
      Parameters:
      token - The token endpoint configuration.
      Returns:
      This builder.
    • token

      public @NonNull OauthClientConfigurationBuilder token(@NonNull String url)
      Sets the token endpoint URL.
      Parameters:
      url - The token endpoint URL.
      Returns:
      This builder.
    • token

      public @NonNull OauthClientConfigurationBuilder token(@NonNull String url, @Nullable String authenticationMethod)
      Sets the token endpoint URL and authentication method.
      Parameters:
      url - The token endpoint URL.
      authenticationMethod - The token endpoint authentication method.
      Returns:
      This builder.
    • token

      public @NonNull OauthClientConfigurationBuilder token(@NonNull String url, @Nullable String authenticationMethod, @NonNull io.micronaut.http.MediaType contentType)
      Sets the token endpoint URL, authentication method, and content type.
      Parameters:
      url - The token endpoint URL.
      authenticationMethod - The token endpoint authentication method.
      contentType - The token endpoint request content type.
      Returns:
      This builder.
    • authorization

      public @NonNull OauthClientConfigurationBuilder authorization(@NonNull OauthAuthorizationEndpointConfiguration authorization)
      Sets the authorization endpoint configuration.
      Parameters:
      authorization - The authorization endpoint configuration.
      Returns:
      This builder.
    • authorization

      public @NonNull OauthClientConfigurationBuilder authorization(@NonNull String url)
      Sets the authorization endpoint URL.
      Parameters:
      url - The authorization endpoint URL.
      Returns:
      This builder.
    • authorization

      public @NonNull OauthClientConfigurationBuilder authorization(@NonNull String url, @Nullable String codeChallengeMethod)
      Sets the authorization endpoint URL and PKCE code challenge method.
      Parameters:
      url - The authorization endpoint URL.
      codeChallengeMethod - The PKCE code challenge method.
      Returns:
      This builder.
    • clientCredentialsConfiguration

      public @NonNull OauthClientConfigurationBuilder clientCredentialsConfiguration(@NonNull ClientCredentialsConfiguration clientCredentials)
      Sets the client credentials configuration and selects the client credentials grant.
      Parameters:
      clientCredentials - The client credentials configuration.
      Returns:
      This builder.
    • clientCredentials

      public @NonNull OauthClientConfigurationBuilder clientCredentials()
      Enables client credentials support without requesting a scope.
      Returns:
      This builder.
    • clientCredentials

      public @NonNull OauthClientConfigurationBuilder clientCredentials(@Nullable String scope)
      Enables client credentials support with the supplied scope.
      Parameters:
      scope - The client credentials scope.
      Returns:
      This builder.
    • clientCredentials

      public @NonNull OauthClientConfigurationBuilder clientCredentials(@Nullable String scope, @NonNull Duration advancedExpiration)
      Enables client credentials support with the supplied scope and advanced expiration.
      Parameters:
      scope - The client credentials scope.
      advancedExpiration - The duration before token expiry to consider the token expired.
      Returns:
      This builder.
    • clientCredentials

      public @NonNull OauthClientConfigurationBuilder clientCredentials(@Nullable String scope, @NonNull Duration advancedExpiration, @NonNull Map<String,String> additionalRequestParams)
      Enables client credentials support with additional token request parameters.
      Parameters:
      scope - The client credentials scope.
      advancedExpiration - The duration before token expiry to consider the token expired.
      additionalRequestParams - Additional request parameters for the token request.
      Returns:
      This builder.
    • introspection

      public @NonNull OauthClientConfigurationBuilder introspection(@NonNull SecureEndpointConfiguration introspection)
      Sets the token introspection endpoint configuration.
      Parameters:
      introspection - The token introspection endpoint configuration.
      Returns:
      This builder.
    • introspection

      public @NonNull OauthClientConfigurationBuilder introspection(@NonNull String url)
      Sets the token introspection endpoint URL.
      Parameters:
      url - The token introspection endpoint URL.
      Returns:
      This builder.
    • introspection

      public @NonNull OauthClientConfigurationBuilder introspection(@NonNull String url, @Nullable String authenticationMethod)
      Sets the token introspection endpoint URL and authentication method.
      Parameters:
      url - The token introspection endpoint URL.
      authenticationMethod - The introspection endpoint authentication method.
      Returns:
      This builder.
    • revocation

      public @NonNull OauthClientConfigurationBuilder revocation(@NonNull SecureEndpointConfiguration revocation)
      Sets the token revocation endpoint configuration.
      Parameters:
      revocation - The token revocation endpoint configuration.
      Returns:
      This builder.
    • revocation

      public @NonNull OauthClientConfigurationBuilder revocation(@NonNull String url)
      Sets the token revocation endpoint URL.
      Parameters:
      url - The token revocation endpoint URL.
      Returns:
      This builder.
    • revocation

      public @NonNull OauthClientConfigurationBuilder revocation(@NonNull String url, @Nullable String authenticationMethod)
      Sets the token revocation endpoint URL and authentication method.
      Parameters:
      url - The token revocation endpoint URL.
      authenticationMethod - The revocation endpoint authentication method.
      Returns:
      This builder.
    • openid

      public @NonNull OauthClientConfigurationBuilder openid(@NonNull OpenIdClientConfiguration openid)
      Sets the OpenID client configuration.
      Parameters:
      openid - The OpenID client configuration.
      Returns:
      This builder.
    • authorizationServer

      public @NonNull OauthClientConfigurationBuilder authorizationServer(@Nullable AuthorizationServer authorizationServer)
      Sets the authorization server type.
      Parameters:
      authorizationServer - The authorization server type.
      Returns:
      This builder.
    • proxyWellKnownOauthAuthorizationServer

      public @NonNull OauthClientConfigurationBuilder proxyWellKnownOauthAuthorizationServer(boolean proxyWellKnownOauthAuthorizationServer)
      Sets whether the OAuth authorization server metadata endpoint is proxied.
      Parameters:
      proxyWellKnownOauthAuthorizationServer - Whether to proxy OAuth authorization server metadata.
      Returns:
      This builder.
    • proxyWellKnownOpenidConfiguration

      public @NonNull OauthClientConfigurationBuilder proxyWellKnownOpenidConfiguration(boolean proxyWellKnownOpenidConfiguration)
      Sets whether the OpenID provider metadata endpoint is proxied.
      Parameters:
      proxyWellKnownOpenidConfiguration - Whether to proxy OpenID provider metadata.
      Returns:
      This builder.
    • build

      public @NonNull OauthClientConfiguration build()
      Builds the OAuth client configuration.
      Returns:
      The OAuth client configuration.