Interface PasswordProvider
-
- All Superinterfaces:
OracleResourceProvider
public interface PasswordProvider extends OracleResourceProvider
A provider of passwords for authentication with Oracle Database.
The oracle.jdbc.provider.password connection property identifies the name of a
PasswordProviderimplementation. Connection properties under the namespace oforacle.jdbc.provider.passwordconfigure any parameters that an implementation defines. To illustrate, the connection properties below would identify a provider named "example-provider", and configure a parameter named "vaultId":oracle.jdbc.provider.password=example-provider oracle.jdbc.provider.password.vaultId=9999-8888-7777
ServiceLoaderlocates implementations ofPasswordProviderdeclared by aMETA-INF/services/oracle.jdbc.spi.PasswordProviderfile in the class path, or by amodule-info.javafile with a "provides oracle.jdbc.spi.PasswordProvider" directive in the module path. Typically, these files are distributed within a jar file that contains aPasswordProviderimplementation.- Since:
- 23
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface oracle.jdbc.spi.OracleResourceProvider
OracleResourceProvider.Parameter
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description char[]getPassword(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)Returns a password for authentication with Oracle Database.-
Methods inherited from interface oracle.jdbc.spi.OracleResourceProvider
getName, getParameters
-
-
-
-
Method Detail
-
getPassword
char[] getPassword(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)
Returns a password for authentication with Oracle Database.
The
parameterValuespassed to this method is aMapcomprised as follows:-
The key set is the same as, or a subset of, the
Parameterobjects returned by an invocation ofOracleResourceProvider.getParameters()on this provider. -
If no value is configured for a parameter, then the
Mapcontains the default value of thatParameter, if any. If the parameter has no default value, then the map does not contain an entry for thatParameter. -
The
Mapdoes not contain entries having null values.
parameterValuesMapmay contain aCharSequencehaving a security sensitive value. After this method returns, the caller may wipe the contents of theseCharSequencevalues from memory. Implementations of this method should not retain a reference to theseCharSequenceobjects.- Parameters:
parameterValues- Parameters configured by connection properties . Not null. May be empty.- Returns:
- A password. Not null.
- Throws:
java.lang.IllegalArgumentException- If the value of a parameter can not be parsed or interpreted.java.lang.IllegalStateException- If an implementation-specific failure prevents a resource from being provided.
-
The key set is the same as, or a subset of, the
-
-