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