public interface AccessToken
AccessToken
subtypes that Oracle JDBC supports when authenticating with Oracle Database.Modifier and Type | Method and Description |
---|---|
static AccessToken |
createJsonWebToken(char[] token)
Creates an
AccessToken representing a JSON Web Token (JWT). |
static AccessToken |
createJsonWebToken(char[] token, PrivateKey privateKey)
Creates an
AccessToken representing a JSON Web Token (JWT) that requires proof of possession (PoP) of a privateKey . |
static java.util.function.Supplier<? extends AccessToken> |
createJsonWebTokenCache(java.util.function.Supplier<? extends AccessToken> tokenSupplier)
Returns a
Supplier that caches access tokens generated by a tokenSupplier . |
static AccessToken createJsonWebToken(char[] token, PrivateKey privateKey)
Creates an AccessToken
representing a JSON Web Token (JWT) that requires proof of possession (PoP) of a privateKey
. The token
argument to this method must be provided as a string of characters representing a JSON Web Token (JWT) as specified by RFC 7519.
Proof of possession is specified by RFC 7800.
The returned AccessToken
retains copies of the token
and privateKey
provided to this method. After this method returns, the original token
and privateKey
may be mutated or destroyed by the caller.
token
- JWT encoded token. Not null
.privateKey
- Private key for which the token
requires proof of possession. Not null
.AccessToken
representing a JWT that requires proof of possession of a private key. Not null.NullPointerException
- If the token
or privateKey
are null
IllegalArgumentException
- If the token
or privateKey
have an unrecognized encoding.IllegalStateException
- If security providers required to decode the privateKey
are not installed.static AccessToken createJsonWebToken(char[] token)
Creates an AccessToken
representing a JSON Web Token (JWT). The token
argument to this method must be provided as a string of characters representing a JSON Web Token (JWT) as specified by RFC 7519.
The returned AccessToken
retains a copy of the token
provided to this method. After this method returns, the original token
may be mutated or destroyed by the caller.
token
- JWT encoded token. Not null
.AccessToken
representing a JWT. Not null.NullPointerException
- If the token
is null
IllegalArgumentException
- If the token
has an unrecognized encoding.static java.util.function.Supplier<? extends AccessToken> createJsonWebTokenCache(java.util.function.Supplier<? extends AccessToken> tokenSupplier)
Returns a Supplier
that caches access tokens generated by a tokenSupplier
. The tokenSupplier
must output instances of AccessToken
created by createJsonWebToken(char[])
or createJsonWebToken(char[], PrivateKey)
The caching Supplier
returned by this method retains a single AccessToken
in its cache, which it will continue to output until that token is about to expire. When the cached token is about to expire, a token is requested by invoking Supplier.get()
on the tokenSupplier
.
The caching Supplier
returned by this method initially retains an empty cache. The get
method of the tokenSupplier
is not invoked until the get
method of the caching Supplier
has been invoked.
The caching Supplier
returned by this method will not perform concurrent invocations of tokenSupplier.get()
.
The caching Supplier
returned by this method does not handle unchecked Exception
s thrown by the tokenSupplier
.
The caching Supplier
returned by this method throws NullPointerException
if the tokenSupplier
returns a null
value.
The caching Supplier
returned by this method throws IllegalArgumentException
if the tokenSupplier
returns an AccessToken
not recognized as one created by createJsonWebToken(char[])
or createJsonWebToken(char[], PrivateKey)
tokenSupplier
- Supplier of AccessToken
s. Not null. Retained.