From a6089d3c7510edba304aaaf1b8167d61d468aeb3 Mon Sep 17 00:00:00 2001 From: flange <38500-flange@users.noreply.git.rwth-aachen.de> Date: Sun, 30 Mar 2025 11:41:02 +0200 Subject: [PATCH] apply urlencoding of consumer_key only at the basic authentication step --- django-allauth.patch | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/django-allauth.patch b/django-allauth.patch index 4586ebd..d5743c6 100644 --- a/django-allauth.patch +++ b/django-allauth.patch @@ -1,5 +1,5 @@ diff --git a/allauth/socialaccount/providers/oauth2/client.py b/allauth/socialaccount/providers/oauth2/client.py -index c0098df..81f610f 100644 +index c0098df..9730260 100644 --- a/allauth/socialaccount/providers/oauth2/client.py +++ b/allauth/socialaccount/providers/oauth2/client.py @@ -1,3 +1,6 @@ @@ -9,14 +9,21 @@ index c0098df..81f610f 100644 import requests from urllib.parse import parse_qsl -@@ -28,8 +31,8 @@ class OAuth2Client: +@@ -28,7 +31,7 @@ class OAuth2Client: self.request = request self.access_token_method = access_token_method self.access_token_url = access_token_url - self.callback_url = callback_url -- self.consumer_key = consumer_key + self.callback_url = os.environ.get("IAM4NFDI_REDIRECT_URI") -+ self.consumer_key = urllib.parse.quote_plus(consumer_key) + self.consumer_key = consumer_key self.consumer_secret = consumer_secret self.scope_delimiter = scope_delimiter - self.state = None +@@ -56,7 +59,7 @@ class OAuth2Client: + "code": code, + } + if self.basic_auth: +- auth = requests.auth.HTTPBasicAuth(self.consumer_key, self.consumer_secret) ++ auth = requests.auth.HTTPBasicAuth(urllib.parse.quote_plus(self.consumer_key), self.consumer_secret) + else: + auth = None + data.update( -- GitLab