Interface AccessTokenProvider
- All Superinterfaces:
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 of oracle.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 of
AccessTokenProvider declared by a
META-INF/services/oracle.jdbc.spi.AccessTokenProvider file in the
class path, or by a module-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 an AccessTokenProvider implementation.
- Since:
- 23
-
Nested Class Summary
Nested classes/interfaces inherited from interface oracle.jdbc.spi.OracleResourceProvider
OracleResourceProvider.Parameter -
Method Summary
Modifier and TypeMethodDescriptiongetAccessToken(Map<OracleResourceProvider.Parameter, CharSequence> parameterValues) Returns a OAUTH access token that authorizes logins to Oracle Database.Methods inherited from interface oracle.jdbc.spi.OracleResourceProvider
getName, getParameters
-
Method Details
-
getAccessToken
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:
IllegalArgumentException- If the value of a parameter can not be parsed or interpreted.IllegalStateException- If an implementation-specific failure prevents a resource from being provided.
-
The key set is the same as, or a subset of, the
-