Interface AccessTokenProvider
-
- All Superinterfaces:
OracleResourceProvider
public interface AccessTokenProvider extends OracleResourceProvider
A provider of OAUTH access tokens that authorize logins to Oracle Database.
The oracle.jdbc.provider.accessToken connection property identifies the name of an
AccessTokenProviderimplementation. Connection properties under the namespace oforacle.jdbc.provider.accessTokenconfigure any parameters that an implementation defines. To illustrate, the connection properties below would identify a provider named "example-provider", and configure a parameter named "scope":oracle.jdbc.provider.accessToken=example-provider oracle.jdbc.provider.accessToken.scope=example.database:connect
ServiceLoaderlocates implementations ofAccessTokenProviderdeclared by aMETA-INF/services/oracle.jdbc.spi.AccessTokenProviderfile in the class path, or by amodule-info.javafile with a "provides oracle.jdbc.spi.AccessTokenProvider" directive in the module path. Typically, these files are distributed within a jar file that contains anAccessTokenProviderimplementation.- 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 AccessTokengetAccessToken(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)Returns a OAUTH access token that authorizes logins to Oracle Database.-
Methods inherited from interface oracle.jdbc.spi.OracleResourceProvider
getName, getParameters
-
-
-
-
Method Detail
-
getAccessToken
AccessToken getAccessToken(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)
Returns a OAUTH access token that authorizes logins to 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:
- An access token. 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
-
-