Page MenuHomeSoftware Heritage

D2867.diff
No OneTemporary

D2867.diff

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

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

Event Timeline