Class SnowflakeCredentialsProvider
- java.lang.Object
-
- com.amazonaws.athena.connectors.snowflake.SnowflakeCredentialsProvider
-
- All Implemented Interfaces:
CredentialsProvider
public class SnowflakeCredentialsProvider extends Object implements CredentialsProvider
Snowflake OAuth credentials provider that manages OAuth token lifecycle. This provider handles token refresh, expiration, and provides credential properties for Snowflake OAuth connections.
-
-
Field Summary
Fields Modifier and Type Field Description static String
ACCESS_TOKEN
static String
EXPIRES_IN
static String
FETCHED_AT
static String
PASSWORD
static String
REFRESH_TOKEN
static String
USER
static String
USERNAME
-
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
-
USERNAME
public static final String USERNAME
- See Also:
- Constant Field Values
-
PASSWORD
public static final String PASSWORD
- See Also:
- Constant Field Values
-
USER
public static final String USER
- 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.
-
-