From dc9281e5f44f68b4f25f2614b1ad50e0902ce510 Mon Sep 17 00:00:00 2001 From: Prithvi <106804681+prithvidasgupta@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:08:27 -0400 Subject: [PATCH 1/2] fix: explicitly add scope to prepare_request_body --- requests_oauthlib/oauth2_session.py | 1 + 1 file changed, 1 insertion(+) diff --git a/requests_oauthlib/oauth2_session.py b/requests_oauthlib/oauth2_session.py index 93cc4d7..8b52dac 100644 --- a/requests_oauthlib/oauth2_session.py +++ b/requests_oauthlib/oauth2_session.py @@ -354,6 +354,7 @@ def fetch_token( body=body, redirect_uri=self.redirect_uri, include_client_id=include_client_id, + scope=self._scope, **kwargs ) From 640aba3dfe0835b644061dff8cf78b3a050cd7c5 Mon Sep 17 00:00:00 2001 From: Prithvi <106804681+prithvidasgupta@users.noreply.github.com> Date: Thu, 19 Sep 2024 16:17:35 -0400 Subject: [PATCH 2/2] fix: scope priority --- requests_oauthlib/oauth2_session.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/requests_oauthlib/oauth2_session.py b/requests_oauthlib/oauth2_session.py index 8b52dac..9a33945 100644 --- a/requests_oauthlib/oauth2_session.py +++ b/requests_oauthlib/oauth2_session.py @@ -349,12 +349,19 @@ def fetch_token( if client_secret is not None: kwargs["client_secret"] = client_secret + # Proritize the scope passed in constructor + # If not passed in constructor, use the kwargs scope if available + if 'scope' in kwargs: + scope = kwargs.pop('scope', None) + if self.scope == None: + self.scope = scope + body = self._client.prepare_request_body( code=code, body=body, redirect_uri=self.redirect_uri, include_client_id=include_client_id, - scope=self._scope, + scope=self.scope, **kwargs )