🐛(resource-server) do not load OIDC backend at initialization

The previous code was loading the `get_oidc_backend` before
override it after. Loading loading an unused backend is a
waste of resource ^^

While the default OIDC backend requires
more settings, like `OIDC_FALLBACK_TO_EMAIL_FOR_IDENTIFICATION`
which might be useless for resource server only project, it
could raise error for missing, unused parameter.
This commit is contained in:
Quentin BEY
2025-11-21 14:01:10 +01:00
parent 2e9ad45f30
commit c4e82df906

View File

@@ -21,7 +21,7 @@ logger = logging.getLogger(__name__)
@cache
def get_resource_server_backend() -> ResourceServerBackend:
def get_resource_server_backend() -> type[ResourceServerBackend]:
"""Return the resource server backend class based on the settings."""
return import_string(settings.OIDC_RS_BACKEND_CLASS)
@@ -36,11 +36,8 @@ class ResourceServerAuthentication(OIDCAuthentication):
def __init__(self):
"""Require authentication to be configured in order to instantiate."""
super().__init__()
try:
self.backend = get_resource_server_backend()()
super().__init__(backend=get_resource_server_backend()())
except ImproperlyConfigured as err:
message = "Resource Server authentication is disabled"
logger.debug("%s. Exception: %s", message, err)