Class OidcProvider.Builder
- java.lang.Object
-
- io.helidon.security.providers.oidc.OidcProvider.Builder
-
- All Implemented Interfaces:
Builder<OidcProvider>,Supplier<OidcProvider>
- Enclosing class:
- OidcProvider
public static final class OidcProvider.Builder extends Object implements Builder<OidcProvider>
Builder forOidcProvider.
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OidcProvider.BuilderaddTenantConfigFinder(TenantConfigFinder configFinder)Add specificTenantConfigFinderimplementation.OidcProvider.BuilderaddTenantConfigFinder(TenantConfigFinder configFinder, int priority)Add specificTenantConfigFinderimplementation with specific priority.OidcProvider.BuilderaddTenantConfigFinder(TenantIdFinder idFinder)Add specificTenantIdFinderimplementation.OidcProvider.BuilderaddTenantConfigFinder(TenantIdFinder idFinder, int priority)Add specificTenantIdFinderimplementation with specific priority.OidcProviderbuild()Build the instance from this builder.OidcProvider.Builderconfig(Config config)Update this builder with configuration.OidcProvider.BuilderdiscoverTenantConfigProviders(boolean discoverConfigProviders)Whether to allowTenantConfigProviderservice loader discovery.OidcProvider.BuilderdiscoverTenantIdProviders(boolean discoverIdProviders)Whether to allowTenantIdFinderservice loader discovery.OidcProvider.BuilderoidcConfig(OidcConfig config)Configuration of OIDC (Open ID Connect).OidcProvider.Builderoptional(boolean optional)Whether authentication is required.OidcProvider.BuilderoutboundConfig(OutboundConfig config)Configuration of outbound rules.OidcProvider.Builderpropagate(boolean propagate)Whether to propagate identity.OidcProvider.BuilderuseJwtGroups(boolean useJwtGroups)Claimgroupsfrom JWT will be used to automatically add groups to current subject (may be used withRolesAllowedannotation).
-
-
-
Method Detail
-
build
public OidcProvider build()
Description copied from interface:BuilderBuild the instance from this builder.- Specified by:
buildin interfaceBuilder<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 usepropagateto disable propagation for an outbound target, andtokento configure outboundTokenHandlerfor an outbound target. Default token handler usesAuthorizationheader with abearerprefix- 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)
Claimgroupsfrom JWT will be used to automatically add groups to current subject (may be used withRolesAllowedannotation).- Parameters:
useJwtGroups- whether to usegroupsclaim from JWT to retrieve roles- Returns:
- updated builder instance
-
discoverTenantConfigProviders
public OidcProvider.Builder discoverTenantConfigProviders(boolean discoverConfigProviders)
Whether to allowTenantConfigProviderservice loader discovery. Default value istrue.- Parameters:
discoverConfigProviders- whether to use service loader- Returns:
- updated builder instance
-
discoverTenantIdProviders
public OidcProvider.Builder discoverTenantIdProviders(boolean discoverIdProviders)
Whether to allowTenantIdFinderservice loader discovery. Default value istrue.- Parameters:
discoverIdProviders- whether to use service loader- Returns:
- updated builder instance
-
addTenantConfigFinder
public OidcProvider.Builder addTenantConfigFinder(TenantConfigFinder configFinder)
Add specificTenantConfigFinderimplementation. PriorityBUILDER_PRIORITYis used.- Parameters:
configFinder- config finder implementation- Returns:
- updated builder instance
-
addTenantConfigFinder
public OidcProvider.Builder addTenantConfigFinder(TenantConfigFinder configFinder, int priority)
Add specificTenantConfigFinderimplementation with specific priority.- Parameters:
configFinder- config finder implementationpriority- finder priority- Returns:
- updated builder instance
-
addTenantConfigFinder
public OidcProvider.Builder addTenantConfigFinder(TenantIdFinder idFinder)
Add specificTenantIdFinderimplementation. PriorityBUILDER_PRIORITYis used.- Parameters:
idFinder- id finder implementation- Returns:
- updated builder instance
-
addTenantConfigFinder
public OidcProvider.Builder addTenantConfigFinder(TenantIdFinder idFinder, int priority)
Add specificTenantIdFinderimplementation with specific priority.- Parameters:
idFinder- id finder implementationpriority- finder priority- Returns:
- updated builder instance
-
-