Package com.oracle.bmc.auth
Class AbstractFederationClientAuthenticationDetailsProviderBuilder<B extends AbstractFederationClientAuthenticationDetailsProviderBuilder<B,P>,P extends AbstractAuthenticationDetailsProvider>
- java.lang.Object
-
- com.oracle.bmc.auth.AbstractRequestingAuthenticationDetailsProvider.Builder<B>
-
- com.oracle.bmc.auth.AbstractFederationClientAuthenticationDetailsProviderBuilder<B,P>
-
- Type Parameters:
B
- builder classP
- provider class
- Direct Known Subclasses:
InstancePrincipalsAuthenticationDetailsProvider.InstancePrincipalsAuthenticationDetailsProviderBuilder
,ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder
public abstract class AbstractFederationClientAuthenticationDetailsProviderBuilder<B extends AbstractFederationClientAuthenticationDetailsProviderBuilder<B,P>,P extends AbstractAuthenticationDetailsProvider> extends AbstractRequestingAuthenticationDetailsProvider.Builder<B>
Abstract builder base class for authentication details provider extendingAbstractRequestingAuthenticationDetailsProvider
-
-
Field Summary
Fields Modifier and Type Field Description static String
AUTHORIZATION_HEADER_VALUE
The Authorization header value to be sent for requests to the metadata service.protected CircuitBreakerConfiguration
circuitBreakerConfiguration
The configuration for the circuit breaker.protected int
detectEndpointRetries
The number of retries for auto-detecting endpoint.protected String
federationEndpoint
The federation endpoint url.protected X509CertificateSupplier
leafCertificateSupplier
The leaf certificate, or null if detecting from instance metadata.static String
METADATA_BASE_URL_ENV_VAR
Environment variable used to overwrite the default metadata base url.static String
METADATA_SERVICE_BASE_URL
Default base url of metadata service.static String
METADATA_URL_OVERRIDE
Metadata URL from environment variable, to use if present.protected String
metadataBaseUrl
Base url of metadata service.protected Region
region
Detected region.protected static Service
SERVICE
Service instance for auth.protected String
tenancyId
Tenancy OCI, or null if detecting from instance metadata.protected int
timeoutForEachRetry
The custom timeout for each retry for auto-detecting endpoint.-
Fields inherited from class com.oracle.bmc.auth.AbstractRequestingAuthenticationDetailsProvider.Builder
additionalFederationClientConfigurators, federationClient, federationClientConfigurator, intermediateCertificateSuppliers, sessionKeySupplier
-
-
Constructor Summary
Constructors Constructor Description AbstractFederationClientAuthenticationDetailsProviderBuilder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
autoDetectCertificatesUsingMetadataUrl()
Auto detects and configures the certificates needed using Instance metadata.protected String
autoDetectEndpointUsingMetadataUrl()
Auto detects the endpoint that should be used when talking to OCI Auth, if no endpoint has been configured already.protected void
autoDetectUsingMetadataUrl()
Auto-detect endpoint and certificate information using Instance metadata.P
build()
Build a new AuthenticationDetailsProvider that uses the FederationClient.protected abstract P
buildProvider(SessionKeySupplier sessionKeySupplierToUse)
Build the actual provider.B
circuitBreakerConfigurator(CircuitBreakerConfiguration circuitBreakerConfiguration)
Configures the Circuit Breaker to use, if any.protected FederationClient
createFederationClient(SessionKeySupplier sessionKeySupplier)
Create the federation client.B
detectEndpointRetries(int detectEndpointRetries)
Configures the custom retries to use for detecting endpoint.B
federationEndpoint(String federationEndpoint)
Configures the custom federationEndpoint to use.String
getFederationEndpoint()
X509CertificateSupplier
getLeafCertificateSupplier()
String
getMetadataBaseUrl()
Region
getRegion()
String
getTenancyId()
B
leafCertificateSupplier(X509CertificateSupplier leafCertificateSupplier)
Configures the custom leafCertificateSupplier to use.B
metadataBaseUrl(String metadataBaseUrl)
Configure the metadata endpoint to use when retrieving the instance data and principal for federation.protected B
purpose(String purpose)
Configure the purpose to be used.B
tenancyId(String tenancyId)
Configures the tenancy id to use.B
timeoutForEachRetry(int timeoutForEachRetry)
Configures the custom timeout for each retry to use for detecting endpoint.-
Methods inherited from class com.oracle.bmc.auth.AbstractRequestingAuthenticationDetailsProvider.Builder
additionalFederationClientConfigurator, federationClientConfigurator, intermediateCertificateSuppliers, sessionKeySupplier
-
-
-
-
Field Detail
-
SERVICE
protected static final Service SERVICE
Service instance for auth.
-
METADATA_SERVICE_BASE_URL
public static final String METADATA_SERVICE_BASE_URL
Default base url of metadata service.- See Also:
- Constant Field Values
-
METADATA_BASE_URL_ENV_VAR
public static final String METADATA_BASE_URL_ENV_VAR
Environment variable used to overwrite the default metadata base url.- See Also:
- Constant Field Values
-
METADATA_URL_OVERRIDE
public static final String METADATA_URL_OVERRIDE
Metadata URL from environment variable, to use if present.
-
AUTHORIZATION_HEADER_VALUE
public static final String AUTHORIZATION_HEADER_VALUE
The Authorization header value to be sent for requests to the metadata service.- See Also:
- Constant Field Values
-
metadataBaseUrl
protected volatile String metadataBaseUrl
Base url of metadata service.
-
federationEndpoint
protected String federationEndpoint
The federation endpoint url.
-
detectEndpointRetries
protected int detectEndpointRetries
The number of retries for auto-detecting endpoint.
-
timeoutForEachRetry
protected int timeoutForEachRetry
The custom timeout for each retry for auto-detecting endpoint.
-
leafCertificateSupplier
protected X509CertificateSupplier leafCertificateSupplier
The leaf certificate, or null if detecting from instance metadata.
-
tenancyId
protected String tenancyId
Tenancy OCI, or null if detecting from instance metadata.
-
circuitBreakerConfiguration
protected CircuitBreakerConfiguration circuitBreakerConfiguration
The configuration for the circuit breaker.
-
region
protected Region region
Detected region.
-
-
Method Detail
-
metadataBaseUrl
public B metadataBaseUrl(String metadataBaseUrl)
Configure the metadata endpoint to use when retrieving the instance data and principal for federation.- Parameters:
metadataBaseUrl
- the metadata base url- Returns:
- this builder
-
federationEndpoint
public B federationEndpoint(String federationEndpoint)
Configures the custom federationEndpoint to use.- Parameters:
federationEndpoint
- the federation endpoint- Returns:
- this builder
-
detectEndpointRetries
public B detectEndpointRetries(int detectEndpointRetries)
Configures the custom retries to use for detecting endpoint.- Parameters:
detectEndpointRetries
- the number of retries- Returns:
- this builder
-
timeoutForEachRetry
public B timeoutForEachRetry(int timeoutForEachRetry)
Configures the custom timeout for each retry to use for detecting endpoint.- Parameters:
timeoutForEachRetry
- the custom timeout- Returns:
- this builder
-
leafCertificateSupplier
public B leafCertificateSupplier(X509CertificateSupplier leafCertificateSupplier)
Configures the custom leafCertificateSupplier to use.- Parameters:
leafCertificateSupplier
-- Returns:
- this builder
-
tenancyId
public B tenancyId(String tenancyId)
Configures the tenancy id to use.- Parameters:
tenancyId
- the tenancy OCID- Returns:
- this builder
-
purpose
protected B purpose(String purpose)
Configure the purpose to be used.- Parameters:
purpose
- the purpose string- Returns:
- this builder
-
circuitBreakerConfigurator
public B circuitBreakerConfigurator(CircuitBreakerConfiguration circuitBreakerConfiguration)
Configures the Circuit Breaker to use, if any.- Parameters:
circuitBreakerConfiguration
- the circuit breaker to use- Returns:
- this builder
-
build
public P build()
Build a new AuthenticationDetailsProvider that uses the FederationClient.- Returns:
- A new provider instance.
-
createFederationClient
protected FederationClient createFederationClient(SessionKeySupplier sessionKeySupplier)
Create the federation client.- Parameters:
sessionKeySupplier
- the session key supplier- Returns:
- the federation client
-
autoDetectUsingMetadataUrl
protected void autoDetectUsingMetadataUrl()
Auto-detect endpoint and certificate information using Instance metadata.
-
autoDetectEndpointUsingMetadataUrl
protected String autoDetectEndpointUsingMetadataUrl()
Auto detects the endpoint that should be used when talking to OCI Auth, if no endpoint has been configured already.- Returns:
- The auto-detected, or currently set, auth endpoint.
-
autoDetectCertificatesUsingMetadataUrl
protected void autoDetectCertificatesUsingMetadataUrl()
Auto detects and configures the certificates needed using Instance metadata.
-
buildProvider
protected abstract P buildProvider(SessionKeySupplier sessionKeySupplierToUse)
Build the actual provider.- Parameters:
sessionKeySupplierToUse
- the session key supplier to use- Returns:
- authentication details provider
-
getMetadataBaseUrl
public String getMetadataBaseUrl()
-
getFederationEndpoint
public String getFederationEndpoint()
-
getLeafCertificateSupplier
public X509CertificateSupplier getLeafCertificateSupplier()
-
getTenancyId
public String getTenancyId()
-
getRegion
public Region getRegion()
-
-