fix
This commit is contained in:
@@ -115,6 +115,20 @@ class AsyncAPIClient:
|
||||
self._tokens = cached_tokens
|
||||
self._authenticated = True
|
||||
app_logger.info("[async_authenticate][CacheHit] Reusing cached Superset auth tokens for %s", self.base_url)
|
||||
# Refresh CSRF token to set matching session cookie on this httpx client
|
||||
try:
|
||||
csrf_url = f"{self.api_base_url}/security/csrf_token/"
|
||||
csrf_resp = await self._client.get(
|
||||
csrf_url,
|
||||
headers={"Authorization": f"Bearer {cached_tokens['access_token']}"},
|
||||
)
|
||||
if csrf_resp.is_success:
|
||||
new_csrf = csrf_resp.json().get("result")
|
||||
if new_csrf:
|
||||
self._tokens["csrf_token"] = new_csrf
|
||||
SupersetAuthCache.set(self._auth_cache_key, self._tokens)
|
||||
except Exception:
|
||||
pass
|
||||
return self._tokens
|
||||
auth_lock = self._get_auth_lock(self._auth_cache_key)
|
||||
async with auth_lock:
|
||||
@@ -123,6 +137,19 @@ class AsyncAPIClient:
|
||||
self._tokens = cached_tokens
|
||||
self._authenticated = True
|
||||
app_logger.info("[async_authenticate][CacheHitAfterWait] Reusing cached Superset auth tokens for %s", self.base_url)
|
||||
try:
|
||||
csrf_url = f"{self.api_base_url}/security/csrf_token/"
|
||||
csrf_resp = await self._client.get(
|
||||
csrf_url,
|
||||
headers={"Authorization": f"Bearer {cached_tokens['access_token']}"},
|
||||
)
|
||||
if csrf_resp.is_success:
|
||||
new_csrf = csrf_resp.json().get("result")
|
||||
if new_csrf:
|
||||
self._tokens["csrf_token"] = new_csrf
|
||||
SupersetAuthCache.set(self._auth_cache_key, self._tokens)
|
||||
except Exception:
|
||||
pass
|
||||
return self._tokens
|
||||
with belief_scope("AsyncAPIClient.authenticate"):
|
||||
app_logger.info("[async_authenticate][Enter] Authenticating to %s", self.base_url)
|
||||
|
||||
Reference in New Issue
Block a user