Package net.snowflake.client.api.auth

## Enum AuthenticatorType

- java.lang.Object
- - java.lang.Enum<AuthenticatorType>
  - - net.snowflake.client.api.auth.AuthenticatorType

All Implemented Interfaces:
  `Serializable`, `Comparable<AuthenticatorType>`

    public enum AuthenticatorType
    extends Enum<AuthenticatorType>

Enumeration of authentication methods supported by the Snowflake JDBC driver.

This enum defines the various authentication mechanisms that can be used to establish a connection to Snowflake. The authenticator type is specified via the connection property `authenticator`.

## Usage Example

     Properties props = new Properties();
     props.put("user", "myuser");
     props.put("authenticator", "EXTERNAL_BROWSER");
     Connection conn = DriverManager.getConnection(url, props);

### Enum Constant Summary

Enum Constants
`EXTERNAL_BROWSER` Web-browser-based authenticator for SAML 2.0 compliant service/application
`ID_TOKEN` Internal authenticator to enable id_token for web browser based authentication
`OAUTH` OAuth 2.0 authentication flow
`OAUTH_AUTHORIZATION_CODE` OAuth authorization code flow with browser popup
`OAUTH_CLIENT_CREDENTIALS` OAuth client credentials flow with clientId and clientSecret
`OKTA` Federated authentication with OKTA as identity provider
`PROGRAMMATIC_ACCESS_TOKEN` Programmatic Access Token (PAT) authentication created in Snowflake
`SNOWFLAKE` Regular login with username and password via Snowflake, may or may not have MFA
`SNOWFLAKE_JWT` Snowflake JWT token authentication using a private key
`USERNAME_PASSWORD_MFA` Authenticator to enable token for regular login with MFA
`WORKLOAD_IDENTITY` Workload identity authentication using existing AWS/GCP/Azure/OIDC workload identity credentials

### Method Summary

All Methods Static Methods Concrete Methods
`static AuthenticatorType` `valueOf​(String name)` Returns the enum constant of this type with the specified name.
`static AuthenticatorType[]` `values()` Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class java.lang.Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

### Enum Constant Detail

#### SNOWFLAKE

    public static final AuthenticatorType SNOWFLAKE

Regular login with username and password via Snowflake, may or may not have MFA

#### OKTA

    public static final AuthenticatorType OKTA

Federated authentication with OKTA as identity provider

#### EXTERNAL_BROWSER

    public static final AuthenticatorType EXTERNAL_BROWSER

Web-browser-based authenticator for SAML 2.0 compliant service/application

#### OAUTH

    public static final AuthenticatorType OAUTH

OAuth 2.0 authentication flow

#### SNOWFLAKE_JWT

    public static final AuthenticatorType SNOWFLAKE_JWT

Snowflake JWT token authentication using a private key

#### ID_TOKEN

    public static final AuthenticatorType ID_TOKEN

Internal authenticator to enable id_token for web browser based authentication

#### USERNAME_PASSWORD_MFA

    public static final AuthenticatorType USERNAME_PASSWORD_MFA

Authenticator to enable token for regular login with MFA

#### OAUTH_AUTHORIZATION_CODE

    public static final AuthenticatorType OAUTH_AUTHORIZATION_CODE

OAuth authorization code flow with browser popup

#### OAUTH_CLIENT_CREDENTIALS

    public static final AuthenticatorType OAUTH_CLIENT_CREDENTIALS

OAuth client credentials flow with clientId and clientSecret

#### PROGRAMMATIC_ACCESS_TOKEN

    public static final AuthenticatorType PROGRAMMATIC_ACCESS_TOKEN

Programmatic Access Token (PAT) authentication created in Snowflake

#### WORKLOAD_IDENTITY

    public static final AuthenticatorType WORKLOAD_IDENTITY

Workload identity authentication using existing AWS/GCP/Azure/OIDC workload identity credentials

### Method Detail

#### values

    public static AuthenticatorType[] values()

Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

    for (AuthenticatorType c : AuthenticatorType.values())
        System.out.println(c);

Returns:
  an array containing the constants of this enum type, in the order they are declared

#### valueOf

    public static AuthenticatorType valueOf​(String name)

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null