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 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.
OracleResourceProvider.Parameter
Modifier and Type | Method and Description |
---|---|
AccessToken |
getAccessToken(java.util.Map<OracleResourceProvider.Parameter,java.lang.CharSequence> parameterValues)
Returns a OAUTH access token that authorizes logins to Oracle Database.
|
getName, getParameters
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 a Map
comprised as follows:
Parameter
objects returned by an invocation of
OracleResourceProvider.getParameters()
on this provider.
Map
contains the default value of that
Parameter
, if any. If the parameter has no default value, then the
map does not contain an entry for that Parameter
.
Map
does not contain entries having null values.
parameterValues
Map
may contain a CharSequence
having a
security sensitive value. After this
method returns, the caller may wipe the contents of these
CharSequence
values from memory. Implementations of this method
should not retain a reference to these CharSequence
objects.
parameterValues
- Parameters
configured by connection properties
. Not null. May be empty.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.