Skip to content

Commit 047095f

Browse files
committed
Add HTTP status check before parsing token responses
- Prevents misleading 'Missing access_token parameter' errors when server returns HTTP errors. - Properly raises HTTPError with the actual error message received from the server for 4xx/5xx responses.
1 parent f33dac3 commit 047095f

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

requests_oauthlib/oauth2_session.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,8 @@ def fetch_token(
403403
log.debug("Invoking hook %s.", hook)
404404
r = hook(r)
405405

406+
# Check if the response was successful before parsing
407+
r.raise_for_status()
406408
self._client.parse_request_body_response(r.text, scope=self.scope)
407409
self.token = self._client.token
408410
log.debug("Obtained token %s.", self.token)
@@ -493,6 +495,8 @@ def refresh_token(
493495
log.debug("Invoking hook %s.", hook)
494496
r = hook(r)
495497

498+
# Check if the response was successful before parsing
499+
r.raise_for_status()
496500
self.token = self._client.parse_request_body_response(r.text, scope=self.scope)
497501
if "refresh_token" not in self.token:
498502
log.debug("No new refresh token given. Re-using old.")

0 commit comments

Comments
 (0)