Package com.oracle.bmc.auth
Class WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder
- java.lang.Object
-
- com.oracle.bmc.auth.WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder
-
- Enclosing class:
- WorkloadIdentityFederationAuthenticationDetailProvider
public static class WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder extends Object
Builder forWorkloadIdentityFederationAuthenticationDetailProvider.Required Setters:
Optional Setters:
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder.RequestedTokenTypeType of requested token for token exchange.
-
Constructor Summary
Constructors Constructor Description WorkloadIdentityFederationAuthenticationDetailProviderBuilder()
-
Method Summary
-
-
-
Method Detail
-
createFederationClient
protected AsyncFederationClient createFederationClient(SessionKeySupplier sessionKeySupplier)
Creates a new AsyncFederationClient instance.- Parameters:
sessionKeySupplier- the session key supplier to use- Returns:
- a new AsyncFederationClient instance
-
clientCredential
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder clientCredential(String clientCredential)
Sets the client credential.If not already Base64 encoded, it will be encoded.
- Parameters:
clientCredential- the client credential string.- Returns:
- this builder.
-
appId
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder appId(String appId)
Sets the appId (optional)- Parameters:
appId- the app guid string.- Returns:
- this builder.
-
resourceType
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder resourceType(String resourceType)
Sets the resourceType (optional)- Parameters:
resourceType- the resource type string.- Returns:
- this builder.
-
rpstExpiry
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder rpstExpiry(String rpstExpiry)
Sets the rpstExpiry (optional)- Parameters:
rpstExpiry- the custom RPST expiry (in minutes) string.- Returns:
- this builder.
-
requestedTokenType
@Deprecated public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder requestedTokenType(String requestedTokenType)
Deprecated.Sets the requestedTokenType (optional)- Parameters:
requestedTokenType- requested token type string.- Returns:
- this builder.
-
requestedTokenType
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder requestedTokenType(WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder.RequestedTokenType requestedTokenType)
Sets the requestedTokenType (optional)- Parameters:
requestedTokenType- requested token type.- Returns:
- this builder.
-
isInstanceCertificatesRequired
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder isInstanceCertificatesRequired(Boolean isInstanceCertificatesRequired)
Sets the isInstanceCertificatesRequired (optional)- Parameters:
isInstanceCertificatesRequired- whether instance certificates are required boolean.- Returns:
- this builder.
-
earlySessionTokenExpirationInSeconds
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder earlySessionTokenExpirationInSeconds(Long seconds)
Sets the number of seconds before the session token expires to consider it expired (optional).- Parameters:
seconds- The number of seconds.- Returns:
- this builder.
-
tokenExchangeUrl
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder tokenExchangeUrl(String tokenExchangeUrl)
Sets the token exchange URL (required).- Parameters:
tokenExchangeUrl- The URL for token exchange.- Returns:
- this builder.
-
subjectTokenSupplier
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder subjectTokenSupplier(Supplier<String> subjectTokenSupplier)
Sets the subject token supplier.- Parameters:
subjectTokenSupplier- The supplier for the subject token.- Returns:
- this builder.
-
region
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder region(Region region)
Sets the region (required).- Parameters:
region- The region.- Returns:
- this builder.
-
enableCircuitBreaker
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder enableCircuitBreaker(Boolean enableCircuitBreaker)
Enables a default circuit breaker for the federation client.- Returns:
- this builder
-
retryConfiguration
public WorkloadIdentityFederationAuthenticationDetailProvider.WorkloadIdentityFederationAuthenticationDetailProviderBuilder retryConfiguration(RetryConfiguration retryConfiguration)
Sets the SDK retry configuration used for the token exchange call.When a retry configuration is provided, this builder will also enable proactive background refresh. The retry configuration is passed through to the token exchange ClientCall.
- Parameters:
retryConfiguration- SDK retry configuration to use (must not be null)- Returns:
- this builder
-
build
public WorkloadIdentityFederationAuthenticationDetailProvider build()
Builds theWorkloadIdentityFederationAuthenticationDetailProvider.All required fields must be set before calling this method.
- Returns:
- a new instance of
WorkloadIdentityFederationAuthenticationDetailProvider. - Throws:
IllegalArgumentException- if any required field is not set.
-
buildAsync
public CompletableFuture<WorkloadIdentityFederationAuthenticationDetailProvider> buildAsync()
Builds theWorkloadIdentityFederationAuthenticationDetailProviderasynchronously.This method initializes the federation client and pre-fetches the first token, then returns a CompletableFuture that completes with the fully initialized provider.
This is useful when you want to ensure the provider is ready with a valid token before passing it to a client that needs authentication.
- Returns:
- a CompletableFuture containing the initialized authentication provider
- Throws:
IllegalArgumentException- if any required field is not set.
-
-