Top Interfaces Annotations Classes
module oci.java.sdk.common

Package com.oracle.bmc.auth


Interface Summary

Modifier and TypeInterface and Description
public interface
AbstractAuthenticationDetailsProvider

Root interface for classes providing some information needed to authenticate requests.

public interface
AuthenticationDetailsProvider

Interface defining a BasicAuthenticationDetailsProvider that also provides the individual components used to create the keyId.

public interface
BasicAuthenticationDetailsProvider

Base interface used provide required information to sign requests to Oracle Cloud Infrastructure.

public interface
BasicConfigFileAuthenticationProvider

Interface defining AuthenticationDetailsProvider that also returns PEM file path and a list of ClientConfigurators

public interface
ConfigurableRefreshOnNotAuthenticatedProvider<
The type of authentication data held by the provider (e.g. for security tokens this could be a string)
T
>

For authentication providers with refreshable authentication data (e.g. those which wrap a security token received from a remote service), this interface flags that when a caller receives a NotAuthenticated error (HTTP 401) that they can refresh the authentication data and retry their request.

public interface
ProvidesClientConfigurators

An interface that has the API to return a list of ClientConfigurators

public interface
ProvidesConfigurableRefresh

An interface that has the API to return refresh security token after if the token expires within a configurable time

public interface
public interface
RefreshableOnNotAuthenticatedProvider<
The type of authentication data held by the provider (e.g. for security tokens this could be a string)
T
>

For authentication providers with refreshable authentication data (e.g. those which wrap a security token received from a remote service), this interface flags that when a caller receives a NotAuthenticated error (HTTP 401) that they can refresh the authentication data and retry their request.

public interface
RegionProvider

A region provider has the API to return the region.

public interface
ServiceAccountTokenSupplier

A ServiceAccountTokenSupplier is responsible for providing kubernetes service account token used for oke workload identity

public interface
SessionKeySupplier

A session key supplier is responsible for providing public/private key pairs that will be used to both fetch federated service tokens and to sign individual requests to OCI.

public interface
X509CertificateSupplier

An interface to provide X509 certificate for a federated client.

Annotation Summary

Modifier and TypeAnnotation and Description
public @interface
AuthCachingPolicy

AuthCachingPolicy provides the ability to annotation basic auth providers with what level of caching a request signer should try to follow.

Class Summary

Modifier and TypeClass and Description
public abstract class
public class
AbstractRequestingAuthenticationDetailsProvider

Base class for authentication details providers that make remote requests.

public abstract class
public class
ConfigFileAuthenticationDetailsProvider

Implementation of AuthenticationDetailsProvider that uses a standard OCI configuration file as an input.

public abstract class
public class
CustomerKeyIdFormatter

Formatter used to create the correct 'keyId' needed for signing requests.

public class
DefaultServiceAccountTokenProvider

Implementation of ServiceAccountTokenSupplier that allows to pass in a token path to read kubernetes service account token If not set, then use default service account token path /var/run/secrets/kubernetes.io/serviceaccount/toke

public class
InstancePrincipalsAuthenticationDetailsProvider

Implementation of BasicAuthenticationDetailsProvider that integrates with instance principal authentication endpoints to generate service tokens used for actual signing.

public class
ResourcePrincipalAuthenticationDetailsProvider

This constructs a default implementation of the ResourcePrincipalAuthenticationDetailsProvider, constructed in accordance with the following environment variable settings:

  • OCI_RESOURCE_PRINCIPAL_VERSION:

    This is required. Permitted values are "1.1", "2.1", "2.1.1", "2.1.2", "2.2" and "3.0"

    For OCI_RESOURCE_PRINCIPAL_VERSION = "1.1"

  • OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT:

    This is required. The endpoint for retrieving the Resource Principal Token.

  • OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT:

    If set, the value from environment variable is used.

    Otherwise, it uses the default resource principal token path provider.

    For OCI_RESOURCE_PRINCIPAL_VERSION = "2.1"

  • OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Token.

  • OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Session Token.

  • OCI_RESOURCE_PRINCIPAL_RESOURCE_ID

    This is required. The RPv2.1 resource id.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM

    This is required. If this points to existing file path, then the filesystem-supplied private key will be retrieved from that location.

    Otherwise, the value is interpreted as the direct injection of a private key.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE

    This is optional. The passphrase for the private key.

    For OCI_RESOURCE_PRINCIPAL_VERSION = "2.1.1"

  • OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Token.

  • OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Session Token.

  • OCI_RESOURCE_PRINCIPAL_RESOURCE_ID

    This is required. The RPv2.1.1 resource id.

  • OCI_RESOURCE_PRINCIPAL_TENANCY_ID

    This is required. The RPv2.1.1 tenancy id.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM

    This is required. If this points to existing file path, then the filesystem-supplied private key will be retrieved from that location.

    Otherwise, the value is interpreted as the direct injection of a private key.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE

    This is optional. The passphrase for the private key.

    For OCI_RESOURCE_PRINCIPAL_VERSION = "2.1.2"

  • OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Token.

  • OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT

    This is required. The endpoint for retrieving the Resource Principal Session Token.

  • OCI_RESOURCE_PRINCIPAL_RESOURCE_ID

    This is required. The RPv2.1.2 resource id.

  • OCI_RESOURCE_PRINCIPAL_TENANCY_ID

    This is required. The RPv2.1.2 tenancy id.

  • OCI_RESOURCE_PRINCIPAL_SECURITY_CONTEXT

    Security context is a must for RPv2.1.2. If set via the environment variable, the value of RPv2.1.2 security context from environment variable is used.

    If set via the builder, security context provided via the builder overrides the value provided via the environment variable.

  • OCI_RESOURCE_PRINCIPAL_RPT_PATH

    If set, the value from environment variable is used.

    Otherwise, it uses the default resource principal token path DEFAULT_OCI_RESOURCE_PRINCIPAL_RPT_PATH_FORV212.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM

    This is required. If this points to existing file path, then the filesystem-supplied private key will be retrieved from that location.

    Otherwise, the value is interpreted as the direct injection of a private key.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE

    This is optional. The passphrase for the private key.

    For OCI_RESOURCE_PRINCIPAL_VERSION = "2.2"

  • OCI_RESOURCE_PRINCIPAL_RPST:

    If this points to an existing file path, then the filesystem-supplied resource principal session token will be retrieved from that location. This mode supports token refresh (if the environment replaces the RPST in the filesystem).

    Otherwise, the environment variable is taken to hold the raw value of an RPST. Under these circumstances, the RPST cannot be refreshed; consequently, this mode is only usable for short-lived executables.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM:

    If this points to an existing file path, then the filesystem-supplied private key will be retrieved from that location. As with the OCI_RESOURCE_PRINCIPAL_RPST, this mode supports token refresh if the environment can update the file contents.

    Otherwise, the value is interpreted as the direct injection of a private key. The same considerations as to the lifetime of this value apply when directly injecting a key.

  • OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE:

    This is optional. If set, it contains either the location (as an existing file path) or the value of the passphrase associated with the private key.

  • OCI_RESOURCE_PRINCIPAL_REGION:

    If set, this holds the canonical form of the local region. This is intended to enable executables to locate their "local" OCI service endpoints.

public class
ResourcePrincipalsV3AuthenticationDetailsProvider

This constructs a default implementation of the ResourcePrincipalAuthenticationDetailsProvider, integrates principal authentication services to generate resource principal session token used for actual signing.

public class
SessionTokenAuthenticationDetailsProvider

Implementation of AuthenticationDetailsProvider that uses a session token for authentication.

public class
SimpleAuthenticationDetailsProvider

Basic implementation of AuthenticationDetailsProvider that just returns configured values.

public class
SimplePrivateKeySupplier

Simple Supplier for the private key that handles missing files.

public class
StringPrivateKeySupplier

Supplier for private key in String format

public class
SuppliedServiceAccountTokenProvider

Implementation of ServiceAccountTokenSupplier that allows to pass in a token to be used as a kubernetes service account token.

public class
URLBasedX509CertificateSupplier

X509CertificateSupplier implementation that reads both certificate and private key off of URL.