Class SnowflakeCredentialsProvider
- java.lang.Object
-
- com.amazonaws.athena.connectors.snowflake.SnowflakeCredentialsProvider
-
- All Implemented Interfaces:
CredentialsProvider
public class SnowflakeCredentialsProvider extends Object implements CredentialsProvider
Snowflake credentials provider that manages multiple authentication methods. This provider handles OAuth token lifecycle, key-pair authentication, and password authentication. Authentication method is automatically determined based on the secret contents.
-
-
Field Summary
Fields Modifier and Type Field Description static String
ACCESS_TOKEN
static String
EXPIRES_IN
static String
FETCHED_AT
static String
REFRESH_TOKEN
-
Fields inherited from interface com.amazonaws.athena.connector.credentials.CredentialsProvider
PASSWORD, USER
-
-
Constructor Summary
Constructors Constructor Description SnowflakeCredentialsProvider(String oauthSecretName)
SnowflakeCredentialsProvider(String oauthSecretName, software.amazon.awssdk.services.secretsmanager.SecretsManagerClient secretsClient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DefaultCredentials
getCredential()
Retrieves credential for database.Map<String,String>
getCredentialMap()
Retrieves credential properties as a map for database connection.
-
-
-
Field Detail
-
ACCESS_TOKEN
public static final String ACCESS_TOKEN
- See Also:
- Constant Field Values
-
FETCHED_AT
public static final String FETCHED_AT
- See Also:
- Constant Field Values
-
REFRESH_TOKEN
public static final String REFRESH_TOKEN
- See Also:
- Constant Field Values
-
EXPIRES_IN
public static final String EXPIRES_IN
- See Also:
- Constant Field Values
-
-
Method Detail
-
getCredential
public DefaultCredentials getCredential()
Description copied from interface:CredentialsProvider
Retrieves credential for database.- Specified by:
getCredential
in interfaceCredentialsProvider
- Returns:
- JDBC credential. See
DefaultCredentials
.
-
getCredentialMap
public Map<String,String> getCredentialMap()
Description copied from interface:CredentialsProvider
Retrieves credential properties as a map for database connection. Default Behavior: The default implementation returns a map containing only the basic "user" and "password" properties extracted from theDefaultCredentials
object returned byCredentialsProvider.getCredential()
. This maintains backward compatibility with existing JDBC connection patterns. Extended Behavior: Implementations can override this method to provide additional connection properties beyond just username and password. This enables support for advanced authentication mechanisms. Usage: The returned map is directly applied to JDBC connection properties, allowing for seamless integration with various database drivers and authentication schemes without requiring custom connection factory implementations.- Specified by:
getCredentialMap
in interfaceCredentialsProvider
- Returns:
- Map containing credential properties for database connection. The default implementation returns a map with "user" and "password" keys. Overriding implementations may return additional properties as needed for their specific authentication requirements.
-
-