Package com.oracle.bmc.auth
Class AbstractRequestingAuthenticationDetailsProvider.CachingSessionKeySupplier
- java.lang.Object
-
- com.oracle.bmc.auth.AbstractRequestingAuthenticationDetailsProvider.CachingSessionKeySupplier
-
- All Implemented Interfaces:
SessionKeySupplier
- Enclosing class:
- AbstractRequestingAuthenticationDetailsProvider
protected static class AbstractRequestingAuthenticationDetailsProvider.CachingSessionKeySupplier extends Object implements SessionKeySupplier
Helper class to cache the private key as bytes so we don’t have to parse it every time.The key only changes during calls to refresh.
All methods in this class that are called outside of this class should be synchronized.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CachingSessionKeySupplier(SessionKeySupplier delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description KeyPair
getKeyPair()
Returns the current RSA key pair.protected byte[]
getPrivateKeyBytes()
void
refreshKeys()
If the auth service-issued security token expires, the federation client will try to re-generate a new set of keys by calling this method.
-
-
-
Constructor Detail
-
CachingSessionKeySupplier
protected CachingSessionKeySupplier(SessionKeySupplier delegate)
-
-
Method Detail
-
getKeyPair
public KeyPair getKeyPair()
Description copied from interface:SessionKeySupplier
Returns the current RSA key pair.- Specified by:
getKeyPair
in interfaceSessionKeySupplier
- Returns:
- The RSA key pair.
-
refreshKeys
public void refreshKeys()
Description copied from interface:SessionKeySupplier
If the auth service-issued security token expires, the federation client will try to re-generate a new set of keys by calling this method.The implementer should create a new pair of keys for security reasons.
Refreshing keys should not be a long-running blocking call. You can refresh keys in an async thread and return from this method immediately. When the async process is done refreshing the keys, the client code will automatically pick up the latest set of keys and update the security token accordingly
- Specified by:
refreshKeys
in interfaceSessionKeySupplier
-
getPrivateKeyBytes
protected byte[] getPrivateKeyBytes()
-
-