Class OAuthCredentialsProvider
- java.lang.Object
-
- com.amazonaws.athena.connector.credentials.OAuthCredentialsProvider
-
- All Implemented Interfaces:
CredentialsProvider
,InitializableCredentialsProvider
- Direct Known Subclasses:
DataLakeGen2OAuthCredentialsProvider
public abstract class OAuthCredentialsProvider extends Object implements InitializableCredentialsProvider
Base class for OAuth credential providers. Handles OAuth token lifecycle management.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
OAuthCredentialsProvider()
protected
OAuthCredentialsProvider(HttpClient httpClient)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract HttpRequest
buildTokenRequest(Map<String,String> secretMap)
Builds the token request for the specific OAuth provider.Credentials
getCredential()
Retrieves credentials for database connection.void
initialize(String secretName, Map<String,String> secretMap, CachableSecretsManager secretsManager)
Initializes this credential provider with the given configuration.protected abstract boolean
isOAuthConfigured(Map<String,String> secretMap)
Checks if OAuth is configured by verifying required fields exist.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.amazonaws.athena.connector.credentials.CredentialsProvider
getCredentialMap
-
-
-
-
Constructor Detail
-
OAuthCredentialsProvider
protected OAuthCredentialsProvider()
-
OAuthCredentialsProvider
protected OAuthCredentialsProvider(HttpClient httpClient)
-
-
Method Detail
-
initialize
public void initialize(String secretName, Map<String,String> secretMap, CachableSecretsManager secretsManager)
Description copied from interface:InitializableCredentialsProvider
Initializes this credential provider with the given configuration. Must be called exactly once before any calls to getCredential().- Specified by:
initialize
in interfaceInitializableCredentialsProvider
- Parameters:
secretName
- The name of the secret in AWS Secrets ManagersecretMap
- The secret configuration containing authentication parameterssecretsManager
- The secrets manager instance for retrieving and updating secrets
-
getCredential
public Credentials getCredential()
Description copied from interface:CredentialsProvider
Retrieves credentials for database connection.- Specified by:
getCredential
in interfaceCredentialsProvider
- Returns:
- Credentials object (username/password or OAuth)
-
isOAuthConfigured
protected abstract boolean isOAuthConfigured(Map<String,String> secretMap)
Checks if OAuth is configured by verifying required fields exist.
-
buildTokenRequest
protected abstract HttpRequest buildTokenRequest(Map<String,String> secretMap)
Builds the token request for the specific OAuth provider.
-
-