Class IdcsRoleMapperProviderBase.Builder<B extends IdcsRoleMapperProviderBase.Builder<B>>

java.lang.Object
io.helidon.security.providers.idcs.mapper.IdcsRoleMapperProviderBase.Builder<B>
Type Parameters:
B - Type of the extending builder
Direct Known Subclasses:
IdcsMtRoleMapperProvider.Builder, IdcsRoleMapperProvider.Builder
Enclosing class:
IdcsRoleMapperProviderBase

public static class IdcsRoleMapperProviderBase.Builder<B extends IdcsRoleMapperProviderBase.Builder<B>> extends Object
Fluent API builder for IdcsRoleMapperProviderBase.
  • Constructor Details

    • Builder

      protected Builder()
      Default constructor.
  • Method Details

    • config

      public B config(Config config)
      Update this builder state from configuration. Expects:
      Parameters:
      config - current node must have "oidc-config" as one of its children
      Returns:
      updated builder instance
    • oidcConfig

      public B oidcConfig(OidcConfig config)
      Use explicit OidcConfig instance, e.g. when using it also for OIDC provider.
      Parameters:
      config - oidc specific configuration, must have at least identity endpoint and client credentials configured
      Returns:
      updated builder instance
    • oidcConfig

      protected OidcConfig oidcConfig()
      Get the configuration to access IDCS instance.
      Returns:
      oidc config
    • subjectTypes

      public B subjectTypes(SubjectType... types)
      Configure supported subject types. By default SubjectType.USER is used if none configured.
      Parameters:
      types - types to configure as supported for mapping
      Returns:
      updated builder instance
    • defaultIdcsSubjectType

      public B defaultIdcsSubjectType(String subjectType)
      Parameters:
      subjectType - type of subject to use when requesting roles from IDCS
      Returns:
      updated builder instance
    • addSubjectType

      public B addSubjectType(SubjectType type)
      Add a supported subject type. If none added, SubjectType.USER is used. If any added, only the ones added will be used (e.g. if you want to use both SubjectType.USER and SubjectType.SERVICE, both need to be added.
      Parameters:
      type - subject type to add to the list of supported types
      Returns:
      updated builder instance