Top Description Inners Fields Constructors Methods
com.oracle.bmc.auth

public Class ResourcePrincipalsV3AuthenticationDetailsProvider

extends ResourcePrincipalAuthenticationDetailsProvider
Class Inheritance
Annotations
@AuthCachingPolicy
cacheKeyId:false
cachePrivateKey:false
Imports
com.oracle.bmc.auth.internal.DefaultLeafRptPathProvider, .ResourcePrincipalsV3FederationClient, .FederationClient, com.oracle.bmc.util.internal.StringUtils, .Validate, com.oracle.bmc.Region

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

Also uses AuthCachingPolicy to disable caching (as the values for signing requests may be rotated periodically).

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String
Inherited from com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider:
OCI_RESOURCE_PRINCIPAL_PRIVATE_PEMOCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASEOCI_RESOURCE_PRINCIPAL_REGION_ENV_VAR_NAMEOCI_RESOURCE_PRINCIPAL_RPSTOCI_RESOURCE_PRINCIPAL_VERSIONregionRP_VERSION_2_1RP_VERSION_2_1_1RP_VERSION_2_1_2RP_VERSION_2_2RP_VERSION_3_0

Constructor Summary

AccessConstructor and Description
pack-priv
ResourcePrincipalsV3AuthenticationDetailsProvider(FederationClient
federation client implementation.
federationClient
,
SessionKeySupplier
session key supplier implementation.
sessionKeySupplier
,
Region
the region
region
)

Constructor of ResourcePrincipalAuthenticationDetailsProvider.

Method Summary

Modifier and TypeMethod and Description
public static ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder

Returns:

A new builder instance.
builder
()

Hides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.builder.

Creates a new ResourcePrincipalsAuthenticationDetailsProvider.

public String

Returns:

the refreshed authentication data
refresh
()

Overrides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.refresh.

Implements com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider.refresh.

Refreshes the authentication data used by the provider

Inherited from com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider:
getFederationClientFromRpstgetRegiongetRegiongetSessionKeySupplierFromPemAndPassphrasegetStringClaimrefreshIfExpiringWithinrefreshIfExpiringWithin

Field Detail

OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM_PASSPHRASE_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_REGION_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_REGION_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_RESOURCE_ID_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RESOURCE_ID_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT_FOR_PARENT_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RPST_ENDPOINT_FOR_PARENT_RESOURCE
OCI_RESOURCE_PRINCIPAL_RPST_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RPST_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RPT_ENDPOINT_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_RPT_URL_FOR_PARENT_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_RPT_URL_FOR_PARENT_RESOURCE
OCI_RESOURCE_PRINCIPAL_TENANCY_ID_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_TENANCY_ID_FOR_LEAF_RESOURCE
OCI_RESOURCE_PRINCIPAL_VERSION_FOR_LEAF_RESOURCEback to summary
private static final String OCI_RESOURCE_PRINCIPAL_VERSION_FOR_LEAF_RESOURCE
RP_DEBUG_INFORMATION_LOGback to summary
private static final String RP_DEBUG_INFORMATION_LOG

Hides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.RP_DEBUG_INFORMATION_LOG.

RP_VERSION_1_1back to summary
private static final String RP_VERSION_1_1

Hides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.RP_VERSION_1_1.

Constructor Detail

ResourcePrincipalsV3AuthenticationDetailsProviderback to summary
pack-priv ResourcePrincipalsV3AuthenticationDetailsProvider(FederationClient federationClient, SessionKeySupplier sessionKeySupplier, Region region)

Constructor of ResourcePrincipalAuthenticationDetailsProvider.

Parameters
federationClient:FederationClient

federation client implementation.

sessionKeySupplier:SessionKeySupplier

session key supplier implementation.

region:Region

the region

Method Detail

builderback to summary
public static ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder builder()

Hides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.builder.

Creates a new ResourcePrincipalsAuthenticationDetailsProvider.

Returns:ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder

A new builder instance.

refreshback to summary
public String refresh()

Overrides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.refresh.

Implements com.oracle.bmc.auth.RefreshableOnNotAuthenticatedProvider.refresh.

Refreshes the authentication data used by the provider

Returns:String

the refreshed authentication data

Annotations
@Override
com.oracle.bmc.auth back to summary

public Class ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder

extends ResourcePrincipalAuthenticationDetailsProviderBuilder
Class Inheritance

Builder for ResourcePrincipalsAuthenticationDetailsProviderBuilder.

Field Summary

Modifier and TypeField and Description
private String
federationEndpointForParentResource

The federation endpoint/RPST endpoint for parent resource

private String
resourcePrincipalTokenUrlForParentResource

The endpoint that can provide the parent resource principal token.

Inherited from com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder:
circuitBreakerConfigresourcePrincipalTokenEndpointresourcePrincipalTokenPathProvidersecurityContext

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ResourcePrincipalsV3AuthenticationDetailsProvider

Returns:

A new provider instance.
build
()

Overrides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder.build.

Build a new ResourcePrincipalsV3AuthenticationDetailsProvider.

public ResourcePrincipalsV3AuthenticationDetailsProvider
build(ResourcePrincipalAuthenticationDetailsProvider
instance of ResourcePrincipalAuthenticationDetailsProvider for leaf resource
leafResourceAuthProvider
)

Builds a new instance of ResourcePrincipalsV3AuthenticationDetailsProvider

public ResourcePrincipalAuthenticationDetailsProvider

Returns:

ResourcePrincipalAuthenticationDetailsProvider
build_2_2_leaf
(String ociResourcePrincipalPrivateKey, String ociResourcePrincipalPassphrase, String ociResourcePrincipalRpst, String ociResourcePrincipalRegion, String inputType)

Helper method that interprets the runtime environment to build a v2.2-configured leaf client

private FederationClient
protected void
public ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder
federationEndpointForParentResource(String federationEndpointForParentResource)

Configures the resourcePrincipalTokenUrlForParentResource to use.

public ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder
resourcePrincipalTokenUrlForParentResource(String resourcePrincipalTokenUrlForParentResource)

Configures the resourcePrincipalTokenUrlForParentResource to use.

Inherited from com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder:
build_1_1build_2_1_2build_2_1_or_2_1_1build_2_2build_3_0buildProvidercircuitBreakerConfigcreateFederationClientleafCertificateSupplierresourcePrincipalSessionTokenEndpointresourcePrincipalTokenEndpointresourcePrincipalTokenEndpointresourcePrincipalTokenPathProvidersecurityContext

Field Detail

federationEndpointForParentResourceback to summary
private String federationEndpointForParentResource

The federation endpoint/RPST endpoint for parent resource

resourcePrincipalTokenUrlForParentResourceback to summary
private String resourcePrincipalTokenUrlForParentResource

The endpoint that can provide the parent resource principal token.

Required.

Constructor Detail

ResourcePrincipalsV3AuthenticationDetailsProviderBuilderback to summary
public ResourcePrincipalsV3AuthenticationDetailsProviderBuilder()

Method Detail

buildback to summary
public ResourcePrincipalsV3AuthenticationDetailsProvider build()

Overrides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder.build.

Build a new ResourcePrincipalsV3AuthenticationDetailsProvider.

Returns:ResourcePrincipalsV3AuthenticationDetailsProvider

A new provider instance.

buildback to summary
public ResourcePrincipalsV3AuthenticationDetailsProvider build(ResourcePrincipalAuthenticationDetailsProvider leafResourceAuthProvider)

Builds a new instance of ResourcePrincipalsV3AuthenticationDetailsProvider

Parameters
leafResourceAuthProvider:ResourcePrincipalAuthenticationDetailsProvider

instance of ResourcePrincipalAuthenticationDetailsProvider for leaf resource

build_2_2_leafback to summary
public ResourcePrincipalAuthenticationDetailsProvider build_2_2_leaf(String ociResourcePrincipalPrivateKey, String ociResourcePrincipalPassphrase, String ociResourcePrincipalRpst, String ociResourcePrincipalRegion, String inputType)

Helper method that interprets the runtime environment to build a v2.2-configured leaf client

Returns:ResourcePrincipalAuthenticationDetailsProvider

ResourcePrincipalAuthenticationDetailsProvider

createFederationClientForParentResourceback to summary
private FederationClient createFederationClientForParentResource(ResourcePrincipalAuthenticationDetailsProvider leafResourceAuthProvider)
createRptPathProviderback to summary
protected void createRptPathProvider()

Overrides com.oracle.bmc.auth.ResourcePrincipalAuthenticationDetailsProvider.ResourcePrincipalAuthenticationDetailsProviderBuilder.createRptPathProvider.

Annotations
@Override
federationEndpointForParentResourceback to summary
public ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder federationEndpointForParentResource(String federationEndpointForParentResource)

Configures the resourcePrincipalTokenUrlForParentResource to use.

resourcePrincipalTokenUrlForParentResourceback to summary
public ResourcePrincipalsV3AuthenticationDetailsProvider.ResourcePrincipalsV3AuthenticationDetailsProviderBuilder resourcePrincipalTokenUrlForParentResource(String resourcePrincipalTokenUrlForParentResource)

Configures the resourcePrincipalTokenUrlForParentResource to use.