Class OidcProvider.Builder

java.lang.Object
io.helidon.security.providers.oidc.OidcProvider.Builder
All Implemented Interfaces:
Builder<OidcProvider.Builder,OidcProvider>, Supplier<OidcProvider>
Enclosing class:
OidcProvider

public static final class OidcProvider.Builder extends Object implements Builder<OidcProvider.Builder,OidcProvider>
Builder for OidcProvider.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • build

      public OidcProvider build()
      Description copied from interface: Builder
      Build the instance from this builder.
      Specified by:
      build in interface Builder<OidcProvider.Builder,OidcProvider>
      Returns:
      instance of the built type
    • config

      public OidcProvider.Builder config(Config config)
      Update this builder with configuration. Only updates information that was not explicitly set. The following configuration options are used:
      Optional configuration parameters
      key default value description
          The current config node is used to construct OidcConfig.
      propagate false Whether to propagate token (overall configuration). If set to false, propagation will not be done at all.
      outbound   Configuration of OutboundConfig. In addition you can use propagate to disable propagation for an outbound target, and token to configure outbound TokenHandler for an outbound target. Default token handler uses Authorization header with a bearer prefix
      Parameters:
      config - OIDC provider configuration
      Returns:
      updated builder instance
    • propagate

      public OidcProvider.Builder propagate(boolean propagate)
      Whether to propagate identity.
      Parameters:
      propagate - whether to propagate identity (true) or not (false)
      Returns:
      updated builder instance
    • outboundConfig

      public OidcProvider.Builder outboundConfig(OutboundConfig config)
      Configuration of outbound rules.
      Parameters:
      config - outbound configuration
      Returns:
      updated builder instance
    • oidcConfig

      public OidcProvider.Builder oidcConfig(OidcConfig config)
      Configuration of OIDC (Open ID Connect).
      Parameters:
      config - OIDC configuration for this provider
      Returns:
      updated builder instance
    • optional

      public OidcProvider.Builder optional(boolean optional)
      Whether authentication is required. By default, request will fail if the authentication cannot be verified. If set to true, request will process and this provider will abstain.
      Parameters:
      optional - whether authentication is optional (true) or required (false)
      Returns:
      updated builder instance
    • useJwtGroups

      public OidcProvider.Builder useJwtGroups(boolean useJwtGroups)
      Claim groups from JWT will be used to automatically add groups to current subject (may be used with RolesAllowed annotation).
      Parameters:
      useJwtGroups - whether to use groups claim from JWT to retrieve roles
      Returns:
      updated builder instance
    • discoverTenantConfigProviders

      public OidcProvider.Builder discoverTenantConfigProviders(boolean discoverConfigProviders)
      Whether to allow TenantConfigProvider service loader discovery. Default value is true.
      Parameters:
      discoverConfigProviders - whether to use service loader
      Returns:
      updated builder instance
    • discoverTenantIdProviders

      public OidcProvider.Builder discoverTenantIdProviders(boolean discoverIdProviders)
      Whether to allow TenantIdFinder service loader discovery. Default value is true.
      Parameters:
      discoverIdProviders - whether to use service loader
      Returns:
      updated builder instance
    • addTenantConfigFinder

      public OidcProvider.Builder addTenantConfigFinder(TenantConfigFinder configFinder)
      Add specific TenantConfigFinder implementation. Priority BUILDER_PRIORITY is used.
      Parameters:
      configFinder - config finder implementation
      Returns:
      updated builder instance
    • addTenantConfigFinder

      public OidcProvider.Builder addTenantConfigFinder(TenantConfigFinder configFinder, int priority)
      Add specific TenantConfigFinder implementation with specific priority.
      Parameters:
      configFinder - config finder implementation
      priority - finder priority
      Returns:
      updated builder instance
    • addTenantConfigFinder

      public OidcProvider.Builder addTenantConfigFinder(TenantIdFinder idFinder)
      Add specific TenantIdFinder implementation. Priority BUILDER_PRIORITY is used.
      Parameters:
      idFinder - id finder implementation
      Returns:
      updated builder instance
    • addTenantConfigFinder

      public OidcProvider.Builder addTenantConfigFinder(TenantIdFinder idFinder, int priority)
      Add specific TenantIdFinder implementation with specific priority.
      Parameters:
      idFinder - id finder implementation
      priority - finder priority
      Returns:
      updated builder instance