From b578820ce23e156c4eed7fd9643bfce2d0337107 Mon Sep 17 00:00:00 2001 From: Deimer Morales <105317492+DeimerM@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:14:12 -0500 Subject: [PATCH] fix: correct user restriction behavior by sign up source in eox-tenant (#201) * fix: fixing login tenant aware adding new auth backend for nutmeg to be able to use the tenant aware login * fix: tweaking some code --- eox_tenant/edxapp_wrapper/backends/edx_auth_n_v1.py | 13 +++++++++++++ eox_tenant/settings/common.py | 2 +- eox_tenant/settings/production.py | 3 +-- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 eox_tenant/edxapp_wrapper/backends/edx_auth_n_v1.py diff --git a/eox_tenant/edxapp_wrapper/backends/edx_auth_n_v1.py b/eox_tenant/edxapp_wrapper/backends/edx_auth_n_v1.py new file mode 100644 index 00000000..b63325b9 --- /dev/null +++ b/eox_tenant/edxapp_wrapper/backends/edx_auth_n_v1.py @@ -0,0 +1,13 @@ +""" Backend abstraction. """ +from django.contrib.auth.backends import AllowAllUsersModelBackend # pylint: disable=import-error +from openedx.core.djangoapps.user_authn.exceptions import AuthFailedError # pylint: disable=import-error + + +def get_edx_auth_backend(): + """ Backend to get the default edx auth backend. """ + return AllowAllUsersModelBackend + + +def get_edx_auth_failed(): + """ Backend to get the AuthFailedError class. """ + return AuthFailedError diff --git a/eox_tenant/settings/common.py b/eox_tenant/settings/common.py index bae05662..d1921690 100644 --- a/eox_tenant/settings/common.py +++ b/eox_tenant/settings/common.py @@ -41,7 +41,7 @@ def plugin_settings(settings): settings.GET_CERTIFICATES_MODULE = 'eox_tenant.edxapp_wrapper.backends.certificates_module_i_v1' settings.GET_SITE_CONFIGURATION_MODULE = 'eox_tenant.edxapp_wrapper.backends.site_configuration_module_i_v1' settings.GET_THEMING_HELPERS = 'eox_tenant.edxapp_wrapper.backends.theming_helpers_h_v1' - settings.EOX_TENANT_EDX_AUTH_BACKEND = "eox_tenant.edxapp_wrapper.backends.edx_auth_i_v1" + settings.EOX_TENANT_EDX_AUTH_BACKEND = "eox_tenant.edxapp_wrapper.backends.edx_auth_n_v1" settings.EOX_TENANT_USERS_BACKEND = 'eox_tenant.edxapp_wrapper.backends.users_l_v1' settings.EOX_TENANT_BEARER_AUTHENTICATION = 'eox_tenant.edxapp_wrapper.backends.bearer_authentication_l_v1' settings.EOX_MAX_CONFIG_OVERRIDE_SECONDS = 300 diff --git a/eox_tenant/settings/production.py b/eox_tenant/settings/production.py index 2a8ba181..1f0f3005 100644 --- a/eox_tenant/settings/production.py +++ b/eox_tenant/settings/production.py @@ -4,8 +4,7 @@ from .common import * # pylint: disable=wildcard-import,unused-wildcard-import -EDX_AUTH_BACKEND = \ - 'openedx.core.djangoapps.oauth_dispatch.dot_overrides.backends.EdxRateLimitedAllowAllUsersModelBackend' +EDX_AUTH_BACKEND = 'django.contrib.auth.backends.AllowAllUsersModelBackend' EOX_TENANT_AUTH_BACKEND = 'eox_tenant.auth.TenantAwareAuthBackend' DJANGO_CURRENT_SITE_MIDDLEWARE = 'django.contrib.sites.middleware.CurrentSiteMiddleware'