Skip to content

Commit 08aa4ee

Browse files
authored
Merge pull request #7078 from chrisburr/fix-authlib
[v8r0] Support Authlib v1.2.1
2 parents 7c2134c + 9bca72e commit 08aa4ee

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/DIRAC/FrameworkSystem/private/authorization/AuthServer.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from dominate import tags as dom
66

77
from authlib.jose import JsonWebKey, jwt
8-
from authlib.oauth2 import HttpRequest, AuthorizationServer as _AuthorizationServer
8+
from authlib.oauth2 import AuthorizationServer as _AuthorizationServer
99
from authlib.oauth2.base import OAuth2Error
1010
from authlib.oauth2.rfc7636 import CodeChallenge
1111
from authlib.oauth2.rfc6749.util import scope_to_list, list_to_scope
@@ -34,6 +34,11 @@
3434
from DIRAC.FrameworkSystem.private.authorization.grants.DeviceFlow import DeviceAuthorizationEndpoint, DeviceCodeGrant
3535
from DIRAC.FrameworkSystem.private.authorization.grants.AuthorizationCode import AuthorizationCodeGrant
3636

37+
try:
38+
from authlib.oauth2 import JsonRequest
39+
except ImportError:
40+
from authlib.oauth2 import HttpRequest as JsonRequest
41+
3742
sLog = gLogger.getSubLogger(__name__)
3843

3944

@@ -326,7 +331,7 @@ def create_oauth2_request(self, request, method_cls=OAuth2Request, use_json=Fals
326331

327332
def create_json_request(self, request):
328333
"""Parse request. Rewrite authlib method."""
329-
return self.create_oauth2_request(request, HttpRequest, True)
334+
return self.create_oauth2_request(request, JsonRequest, True)
330335

331336
def validate_requested_scope(self, scope, state=None):
332337
"""See :func:`authlib.oauth2.rfc6749.authorization_server.validate_requested_scope`"""

src/DIRAC/FrameworkSystem/private/authorization/utils/Requests.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from authlib.common.encoding import to_unicode
55
from authlib.oauth2 import OAuth2Request as _OAuth2Request
66
from authlib.oauth2.rfc6749.util import scope_to_list
7-
from urllib.parse import quote
7+
from urllib.parse import quote, urlparse
88

99

1010
class OAuth2Request(_OAuth2Request):
@@ -19,6 +19,7 @@ def addScopes(self, scopes):
1919

2020
def setQueryArguments(self, **kwargs):
2121
"""Set query arguments"""
22+
query = self.query = urlparse(self.uri).query
2223
for k in kwargs:
2324
# Quote value before add it to request query
2425
value = (
@@ -39,7 +40,8 @@ def path(self):
3940
4041
:return: str
4142
"""
42-
return self.uri.replace("?%s" % (self.query or ""), "")
43+
query = urlparse(self.uri).query
44+
return self.uri.replace("?%s" % (query or ""), "")
4345

4446
@property
4547
def groups(self):

0 commit comments

Comments
 (0)