Interface OracleConfigurationJsonSecretProvider
-
public interface OracleConfigurationJsonSecretProviderDefines the contract for secret providers in a JSON Configuration. For more information please refer to:
OracleConfigurationProvider.The JSON Secret Provider can either define a 'password' or a 'wallet_location' with the following properties. For an example look at
OracleConfigurationProvider:- 'type'. The secret type, required string. It is used by the Service
Provider Interface to load the
OracleConfigurationJsonSecretProviderimplementation at runtime. The driver provides a built-in basic provider using Base64 (not recommended for production environments). Known external providers include: 'vault-oci' and 'vault-azure'. - 'value'. A reference to the secret value, required string, it depends on
the secret type and the
OracleConfigurationJsonSecretProviderimplementation. If the type is 'base64', then it is the Base64 encoding of the secret. If the type is 'vault-oci', then it is the OCID of the secret in OCI. If it is 'vault-azure', then it is the Azure Key Vault URI. - 'authentication'. It is an optional object used by the OracleConfigurationJsonSecretProvider implementation to configure the authentication. Each provider can define the schema of this 'authentication' object. The built-in Base64 provider doesn't use it.
The driver provides a built-in basic provider using Base64 (not recommended for production environments).
- 'type'. The secret type, required string. It is used by the Service
Provider Interface to load the
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static OracleConfigurationJsonSecretProviderfind(java.lang.String secretType)Helper method to load the Provider depending on its type.char[]getSecret(OracleJsonObject secret)Returns the secret using the 'value' and 'authentication' attributes of the password or wallet_location JSON Object.java.lang.StringgetSecretType()Returns the secret type, which is a unique identifier for the Service Provider Interface.
-
-
-
Method Detail
-
getSecret
char[] getSecret(OracleJsonObject secret)
Returns the secret using the 'value' and 'authentication' attributes of the password or wallet_location JSON Object.
For example: if the password type is 'vault-oci', the password value should be the OCID of the Secret holding the password in OCI Vault. The same applies to the 'wallet_location' object.
- Parameters:
secret- JSON Object, required by the provider to get the secret (either password or wallet_location). Not null.- Returns:
- secret value. Not null.
-
getSecretType
java.lang.String getSecretType()
Returns the secret type, which is a unique identifier for the Service Provider Interface. It is used by the JSON Provider at Runtime to load the different JSON Secret providers.- Returns:
- secret type. Not null.
-
find
static OracleConfigurationJsonSecretProvider find(java.lang.String secretType)
Helper method to load the Provider depending on its type. External providers for a secret in a JSON Provider need to implement this interface. The secret type is indicated in the JSON payload by the 'type' attribute in the 'password' or 'wallet_location' objects. Providers need to implement getSecretType() with this in mind.
This method will look at runtime for (SPI) secret providers which type equals the one defined in the JSON payload.
- Parameters:
secretType- secret type of the SPI to be found. Not null.- Returns:
- OracleConfigurationJsonSecretProvider of this specific type.
-
-