Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F6930376
D2867.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
D2867.diff
View Options
diff --git a/swh/web/auth/utils.py b/swh/web/auth/utils.py
--- a/swh/web/auth/utils.py
+++ b/swh/web/auth/utils.py
@@ -9,8 +9,6 @@
from base64 import urlsafe_b64encode
from typing import Tuple
-from django.conf import settings
-
from swh.web.auth.keycloak import (
KeycloakOpenIDConnect, get_keycloak_oidc_client
)
@@ -43,7 +41,11 @@
return code_verifier_str, code_challenge_str
-def get_oidc_client(client_id: str = '') -> KeycloakOpenIDConnect:
+OIDC_SWH_WEB_CLIENT_ID = 'swh-web'
+
+
+def get_oidc_client(client_id: str = OIDC_SWH_WEB_CLIENT_ID
+ ) -> KeycloakOpenIDConnect:
"""
Instantiate a KeycloakOpenIDConnect class for a given client in the
SoftwareHeritage realm.
@@ -54,8 +56,6 @@
Returns:
An object to ease the interaction with the Keycloak server
"""
- if not client_id:
- client_id = settings.OIDC_SWH_WEB_CLIENT_ID
swhweb_config = get_config()
return get_keycloak_oidc_client(swhweb_config['keycloak']['server_url'],
swhweb_config['keycloak']['realm_name'],
diff --git a/swh/web/settings/common.py b/swh/web/settings/common.py
--- a/swh/web/settings/common.py
+++ b/swh/web/settings/common.py
@@ -300,5 +300,3 @@
'django.contrib.auth.backends.ModelBackend',
'swh.web.auth.backends.OIDCAuthorizationCodePKCEBackend',
]
-
-OIDC_SWH_WEB_CLIENT_ID = 'swh-web'
diff --git a/swh/web/tests/auth/keycloak_mock.py b/swh/web/tests/auth/keycloak_mock.py
--- a/swh/web/tests/auth/keycloak_mock.py
+++ b/swh/web/tests/auth/keycloak_mock.py
@@ -6,10 +6,10 @@
from copy import copy
from unittest.mock import Mock
-from django.conf import settings
from django.utils import timezone
from swh.web.auth.keycloak import KeycloakOpenIDConnect
+from swh.web.auth.utils import OIDC_SWH_WEB_CLIENT_ID
from swh.web.config import get_config
from .sample_data import oidc_profile, realm_public_key, userinfo
@@ -21,7 +21,7 @@
swhweb_config = get_config()
super().__init__(swhweb_config['keycloak']['server_url'],
swhweb_config['keycloak']['realm_name'],
- settings.OIDC_SWH_WEB_CLIENT_ID)
+ OIDC_SWH_WEB_CLIENT_ID)
self._keycloak.public_key = lambda: realm_public_key
self._keycloak.well_know = lambda: {
'issuer': f'{self.server_url}realms/{self.realm_name}',
diff --git a/swh/web/tests/auth/test_views.py b/swh/web/tests/auth/test_views.py
--- a/swh/web/tests/auth/test_views.py
+++ b/swh/web/tests/auth/test_views.py
@@ -6,13 +6,13 @@
from urllib.parse import urljoin, urlparse
import uuid
-from django.conf import settings
from django.http import QueryDict
from django.contrib.auth.models import AnonymousUser, User
import pytest
from swh.web.auth.models import OIDCUser
+from swh.web.auth.utils import OIDC_SWH_WEB_CLIENT_ID
from swh.web.common.utils import reverse
from swh.web.tests.django_asserts import assert_template_used, assert_contains
@@ -47,7 +47,7 @@
# check redirect url is valid
assert urljoin(response['location'], parsed_url.path) == authorization_url
assert 'client_id' in query_dict
- assert query_dict['client_id'] == settings.OIDC_SWH_WEB_CLIENT_ID
+ assert query_dict['client_id'] == OIDC_SWH_WEB_CLIENT_ID
assert 'response_type' in query_dict
assert query_dict['response_type'] == 'code'
assert 'redirect_uri' in query_dict
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jul 27 2024, 10:29 PM (11 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3220898
Attached To
D2867: settings/common: Move OIDC_SWH_WEB_CLIENT_ID variable to auth.utils
Event Timeline
Log In to Comment