File tree Expand file tree Collapse file tree 3 files changed +12
-2
lines changed
src/snowflake/connector/auth Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ Source code is also available at: https://github.com/snowflakedb/snowflake-conne
1010
1111- v3.1.1(TBD)
1212
13+ - Fixed a bug in retry logic for okta authentication to refresh token.
1314 - Support ` RSAPublicKey ` when constructing ` AuthByKeyPair ` in addition to raw bytes.
1415
1516- v3.1.0(July 31,2023)
Original file line number Diff line number Diff line change @@ -277,13 +277,14 @@ def _step4(
277277 logger .debug ("step 4: query IDP URL snowflake app to get SAML " "response" )
278278 timeout_time = time .time () + conn .login_timeout if conn .login_timeout else None
279279 response_html = {}
280+ origin_sso_url = sso_url
280281 while timeout_time is None or time .time () < timeout_time :
281282 try :
282283 url_parameters = {
283284 "RelayState" : "/some/deep/link" ,
284285 "onetimetoken" : generate_one_time_token (),
285286 }
286- sso_url = sso_url + "?" + urlencode (url_parameters )
287+ sso_url = origin_sso_url + "?" + urlencode (url_parameters )
287288 headers = {
288289 HTTP_HEADER_ACCEPT : "*/*" ,
289290 }
Original file line number Diff line number Diff line change @@ -209,13 +209,21 @@ def get_one_time_token():
209209 nonlocal second_token_generated
210210 if raise_token_refresh_error :
211211 assert not second_token_generated
212+ return "1token1"
212213 else :
213214 second_token_generated = True
214- return "1token1 "
215+ return "2token2 "
215216
216217 # the first time, when step4 gets executed, we return 429
217218 # the second time when step4 gets retried, we return 200
218219 def mock_session_request (* args , ** kwargs ):
220+ nonlocal second_token_generated
221+ url = kwargs .get ("url" )
222+ assert url == (
223+ "https://testsso.snowflake.net/sso?RelayState=%2Fsome%2Fdeep%2Flink&onetimetoken=1token1"
224+ if not second_token_generated
225+ else "https://testsso.snowflake.net/sso?RelayState=%2Fsome%2Fdeep%2Flink&onetimetoken=2token2"
226+ )
219227 nonlocal raise_token_refresh_error
220228 if raise_token_refresh_error :
221229 raise_token_refresh_error = False
You can’t perform that action at this time.
0 commit comments