Skip to content

Commit b5ab88b

Browse files
detect 'refresh to login' failures earlier to throw a better error.
1 parent c4be6d3 commit b5ab88b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/planet_auth/oidc/request_authenticator.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
from typing import Dict, Optional
1818

1919
import planet_auth.logging.auth_logger
20+
from planet_auth import AuthException
2021
from planet_auth.credential import Credential
2122
from planet_auth.request_authenticator import CredentialRequestAuthenticator
2223
from planet_auth.oidc.auth_client import OidcAuthClient
@@ -123,6 +124,11 @@ def _refresh_if_needed(self):
123124
msg="Error refreshing auth token. Continuing with old auth token. Refresh error: " + str(e)
124125
)
125126

127+
if not (self._credential and self._credential.is_loaded()):
128+
# "refresh" may also be called to initialize in some cases, as in client credentials flow.
129+
# Continuing with what we have is not an option when we have nothing.
130+
raise AuthException("Failed to load or obtain a valid access token.")
131+
126132
def pre_request_hook(self):
127133
self._refresh_if_needed()
128134
super().pre_request_hook()

0 commit comments

Comments
 (0)