Class OAuthCredentialsProvider
- java.lang.Object
-
- com.amazonaws.athena.connector.credentials.OAuthCredentialsProvider
-
- All Implemented Interfaces:
CredentialsProvider,InitializableCredentialsProvider
- Direct Known Subclasses:
DataLakeGen2OAuthCredentialsProvider,SaphanaOAuthCredentialsProvider,SqlServerOAuthCredentialsProvider,SynapseOAuthCredentialsProvider
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 protectedOAuthCredentialsProvider()protectedOAuthCredentialsProvider(HttpClient httpClient)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract HttpRequestbuildTokenRequest(Map<String,String> secretMap)Builds the token request for the specific OAuth provider.CredentialsgetCredential()Retrieves credentials for database connection.voidinitialize(String secretName, Map<String,String> secretMap, CachableSecretsManager secretsManager)Initializes this credential provider with the given configuration.protected abstract booleanisOAuthConfigured(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:InitializableCredentialsProviderInitializes this credential provider with the given configuration. Must be called exactly once before any calls to getCredential().- Specified by:
initializein 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:CredentialsProviderRetrieves credentials for database connection.- Specified by:
getCredentialin 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.
-
-