@@ -17,6 +17,9 @@ static class AuthConnectionString
17
17
public static readonly string SsoUser = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_BROWSER_USER" ) ;
18
18
public static readonly string Host = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_HOST" ) ;
19
19
public static readonly string SsoPassword = Environment . GetEnvironmentVariable ( "SNOWFLAKE_TEST_OKTA_PASS" ) ;
20
+ public static readonly string SnowflakeUser = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_SNOWFLAKE_USER" ) ;
21
+ public static readonly string SnowflakeRole = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_ROLE" ) ;
22
+
20
23
21
24
private static SFSessionProperties GetBaseConnectionParameters ( )
22
25
{
@@ -29,7 +32,20 @@ private static SFSessionProperties GetBaseConnectionParameters()
29
32
{ SFSessionProperty . DB , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_DATABASE" ) } ,
30
33
{ SFSessionProperty . SCHEMA , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_SCHEMA" ) } ,
31
34
{ SFSessionProperty . WAREHOUSE , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_WAREHOUSE" ) } ,
35
+ { SFSessionProperty . MINPOOLSIZE , "0" } ,
36
+ { SFSessionProperty . CLIENT_STORE_TEMPORARY_CREDENTIAL , "false" }
37
+ } ;
38
+ return properties ;
39
+ }
40
+
41
+ public static SFSessionProperties GetSnowflakeLoginCredentials ( )
42
+ {
43
+ var properties = new SFSessionProperties ( )
44
+ {
45
+ { SFSessionProperty . USER , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) } ,
46
+ { SFSessionProperty . PASSWORD , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_USER_PASSWORD" ) }
32
47
} ;
48
+
33
49
return properties ;
34
50
}
35
51
@@ -41,6 +57,57 @@ public static SFSessionProperties GetExternalBrowserConnectionString()
41
57
return properties ;
42
58
}
43
59
60
+ public static SFSessionProperties GetOAuthExternalAuthorizationCodeConnectionString ( )
61
+ {
62
+ var properties = GetBaseConnectionParameters ( ) ;
63
+ properties . Add ( SFSessionProperty . AUTHENTICATOR , "OAUTH_AUTHORIZATION_CODE" ) ;
64
+ properties . Add ( SFSessionProperty . OAUTHCLIENTID , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) ) ;
65
+ properties . Add ( SFSessionProperty . OAUTHCLIENTSECRET , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_SECRET" ) ) ;
66
+ properties . Add ( SFSessionProperty . OAUTHREDIRECTURI , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_REDIRECT_URI" ) ) ;
67
+ properties . Add ( SFSessionProperty . OAUTHAUTHORIZATIONURL , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_AUTH_URL" ) ) ;
68
+ properties . Add ( SFSessionProperty . OAUTHTOKENREQUESTURL , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_TOKEN" ) ) ;
69
+ properties . Add ( SFSessionProperty . USER , SsoUser ) ;
70
+
71
+ return properties ;
72
+ }
73
+
74
+ public static SFSessionProperties GetOAuthSnowflakeAuthorizationCodeConnectionParameters ( )
75
+ {
76
+ var properties = GetBaseConnectionParameters ( ) ;
77
+ properties . Add ( SFSessionProperty . AUTHENTICATOR , "OAUTH_AUTHORIZATION_CODE" ) ;
78
+ properties . Add ( SFSessionProperty . OAUTHCLIENTID , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_CLIENT_ID" ) ) ;
79
+ properties . Add ( SFSessionProperty . OAUTHCLIENTSECRET , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_CLIENT_SECRET" ) ) ;
80
+ properties . Add ( SFSessionProperty . OAUTHREDIRECTURI , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_REDIRECT_URI" ) ) ;
81
+ properties [ SFSessionProperty . ROLE ] = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_ROLE" ) ;
82
+ properties . Add ( SFSessionProperty . USER , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) ) ;
83
+
84
+ return properties ;
85
+ }
86
+
87
+ public static SFSessionProperties GetOAuthSnowflakeAuthorizationCodeWilidcardsConnectionParameters ( )
88
+ {
89
+ var properties = GetBaseConnectionParameters ( ) ;
90
+ properties . Add ( SFSessionProperty . AUTHENTICATOR , "OAUTH_AUTHORIZATION_CODE" ) ;
91
+ properties . Add ( SFSessionProperty . OAUTHCLIENTID , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_WILDCARDS_CLIENT_ID" ) ) ;
92
+ properties . Add ( SFSessionProperty . OAUTHCLIENTSECRET , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_WILDCARDS_CLIENT_SECRET" ) ) ;
93
+ properties [ SFSessionProperty . ROLE ] = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_INTERNAL_OAUTH_SNOWFLAKE_ROLE" ) ;
94
+ properties . Add ( SFSessionProperty . USER , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) ) ;
95
+
96
+ return properties ;
97
+ }
98
+
99
+ public static SFSessionProperties GetOAuthExternalClientCredentialParameters ( )
100
+ {
101
+ var properties = GetBaseConnectionParameters ( ) ;
102
+ properties . Add ( SFSessionProperty . AUTHENTICATOR , "OAUTH_CLIENT_CREDENTIALS" ) ;
103
+ properties . Add ( SFSessionProperty . OAUTHCLIENTID , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) ) ;
104
+ properties . Add ( SFSessionProperty . OAUTHCLIENTSECRET , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_SECRET" ) ) ;
105
+ properties . Add ( SFSessionProperty . OAUTHTOKENREQUESTURL , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_TOKEN" ) ) ;
106
+ properties . Add ( SFSessionProperty . USER , Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_EXTERNAL_OAUTH_OKTA_CLIENT_ID" ) ) ;
107
+
108
+ return properties ;
109
+ }
110
+
44
111
public static SFSessionProperties GetOauthConnectionString ( string token )
45
112
{
46
113
var properties = GetBaseConnectionParameters ( ) ;
@@ -71,6 +138,13 @@ public static SFSessionProperties GetKeyPairFromFileContentParameters(string pri
71
138
return properties ;
72
139
}
73
140
141
+ public static SFSessionProperties GetPatConnectionParameters ( )
142
+ {
143
+ var properties = GetBaseConnectionParameters ( ) ;
144
+ properties . Add ( SFSessionProperty . AUTHENTICATOR , "PROGRAMMATIC_ACCESS_TOKEN" ) ;
145
+ properties . Add ( SFSessionProperty . USER , SsoUser ) ;
146
+ return properties ;
147
+ }
74
148
75
149
public static SFSessionProperties GetKeyPairFromFilePathConnectionString ( string privateKeyPath )
76
150
{
@@ -115,13 +189,13 @@ public static string GetOauthToken()
115
189
try
116
190
{
117
191
using ( var client = new HttpClient ( new HttpClientHandler
118
- {
119
- CheckCertificateRevocationList = true ,
120
- SslProtocols = SslProtocols . Tls12 ,
121
- AutomaticDecompression = DecompressionMethods . GZip | DecompressionMethods . Deflate ,
122
- UseProxy = false ,
123
- UseCookies = false
124
- } ) )
192
+ {
193
+ CheckCertificateRevocationList = true ,
194
+ SslProtocols = SslProtocols . Tls12 ,
195
+ AutomaticDecompression = DecompressionMethods . GZip | DecompressionMethods . Deflate ,
196
+ UseProxy = false ,
197
+ UseCookies = false
198
+ } ) )
125
199
{
126
200
var authUrl = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_OAUTH_URL" ) ;
127
201
var clientId = Environment . GetEnvironmentVariable ( "SNOWFLAKE_AUTH_TEST_OAUTH_CLIENT_ID" ) ;
0 commit comments