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
AccessTokenProvider
implementation. Connection properties under the namespace oforacle.jdbc.provider.accessToken
configure 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
ServiceLoader
locates implementations ofAccessTokenProvider
declared by aMETA-INF/services/oracle.jdbc.spi.AccessTokenProvider
file in the class path, or by amodule-info.java
file with a "provides oracle.jdbc.spi.AccessTokenProvider
" directive in the module path. Typically, these files are distributed within a jar file that contains anAccessTokenProvider
implementation.- 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 AccessToken
getAccessToken(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
parameterValues
passed to this method is aMap
comprised as follows:-
The key set is the same as, or a subset of, the
Parameter
objects returned by an invocation ofOracleResourceProvider.getParameters()
on this provider. -
If no value is configured for a parameter, then the
Map
contains 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
Map
does not contain entries having null values.
parameterValues
Map
may contain aCharSequence
having a security sensitive value. After this method returns, the caller may wipe the contents of theseCharSequence
values from memory. Implementations of this method should not retain a reference to theseCharSequence
objects.- 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
-
-