Removing the Deprecated the 'external_auth' package in favor of 'third_party_auth' which is the current recommendation.
This commit is contained in:
committed by
Nimisha Asthagiri
parent
2599229995
commit
2c149ca6be
@@ -10,7 +10,6 @@ from django.views.decorators.clickjacking import xframe_options_deny
|
||||
from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from openedx.core.djangoapps.external_auth.views import redirect_with_get, ssl_get_cert_from_request, ssl_login_shortcut
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from waffle.decorators import waffle_switch
|
||||
from contentstore.config import waffle
|
||||
@@ -27,15 +26,10 @@ def signup(request):
|
||||
csrf_token = csrf(request)['csrf_token']
|
||||
if request.user.is_authenticated:
|
||||
return redirect('/course/')
|
||||
if settings.FEATURES.get('AUTH_USE_CERTIFICATES_IMMEDIATE_SIGNUP'):
|
||||
# Redirect to course to login to process their certificate if SSL is enabled
|
||||
# and registration is disabled.
|
||||
return redirect_with_get('login', request.GET, False)
|
||||
|
||||
return render_to_response('register.html', {'csrf': csrf_token})
|
||||
|
||||
|
||||
@ssl_login_shortcut
|
||||
@ensure_csrf_cookie
|
||||
@xframe_options_deny
|
||||
def login_page(request):
|
||||
@@ -43,19 +37,6 @@ def login_page(request):
|
||||
Display the login form.
|
||||
"""
|
||||
csrf_token = csrf(request)['csrf_token']
|
||||
if (settings.FEATURES['AUTH_USE_CERTIFICATES'] and
|
||||
ssl_get_cert_from_request(request)):
|
||||
# SSL login doesn't require a login view, so redirect
|
||||
# to course now that the user is authenticated via
|
||||
# the decorator.
|
||||
next_url = request.GET.get('next')
|
||||
if next_url:
|
||||
return redirect(next_url)
|
||||
else:
|
||||
return redirect('/course/')
|
||||
if settings.FEATURES.get('AUTH_USE_CAS'):
|
||||
# If CAS is enabled, redirect auth handling to there
|
||||
return redirect(reverse('cas-login'))
|
||||
|
||||
return render_to_response(
|
||||
'login.html',
|
||||
|
||||
@@ -273,26 +273,6 @@ HEARTBEAT_CHECKS = ENV_TOKENS.get('HEARTBEAT_CHECKS', HEARTBEAT_CHECKS)
|
||||
HEARTBEAT_EXTENDED_CHECKS = ENV_TOKENS.get('HEARTBEAT_EXTENDED_CHECKS', HEARTBEAT_EXTENDED_CHECKS)
|
||||
HEARTBEAT_CELERY_TIMEOUT = ENV_TOKENS.get('HEARTBEAT_CELERY_TIMEOUT', HEARTBEAT_CELERY_TIMEOUT)
|
||||
|
||||
# Django CAS external authentication settings
|
||||
CAS_EXTRA_LOGIN_PARAMS = ENV_TOKENS.get("CAS_EXTRA_LOGIN_PARAMS", None)
|
||||
if FEATURES.get('AUTH_USE_CAS'):
|
||||
CAS_SERVER_URL = ENV_TOKENS.get("CAS_SERVER_URL", None)
|
||||
AUTHENTICATION_BACKENDS = [
|
||||
'django.contrib.auth.backends.ModelBackend',
|
||||
'django_cas.backends.CASBackend',
|
||||
]
|
||||
|
||||
INSTALLED_APPS.append('django_cas')
|
||||
|
||||
MIDDLEWARE_CLASSES.append('django_cas.middleware.CASMiddleware')
|
||||
CAS_ATTRIBUTE_CALLBACK = ENV_TOKENS.get('CAS_ATTRIBUTE_CALLBACK', None)
|
||||
if CAS_ATTRIBUTE_CALLBACK:
|
||||
import importlib
|
||||
CAS_USER_DETAILS_RESOLVER = getattr(
|
||||
importlib.import_module(CAS_ATTRIBUTE_CALLBACK['module']),
|
||||
CAS_ATTRIBUTE_CALLBACK['function']
|
||||
)
|
||||
|
||||
# Specific setting for the File Upload Service to store media in a bucket.
|
||||
FILE_UPLOAD_STORAGE_BUCKET_NAME = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_BUCKET_NAME', FILE_UPLOAD_STORAGE_BUCKET_NAME)
|
||||
FILE_UPLOAD_STORAGE_PREFIX = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_PREFIX', FILE_UPLOAD_STORAGE_PREFIX)
|
||||
|
||||
@@ -182,8 +182,6 @@ FEATURES = {
|
||||
# Doing so will cause all courses to be released on production
|
||||
'DISABLE_START_DATES': False, # When True, all courses will be active, regardless of start date
|
||||
|
||||
'AUTH_USE_CERTIFICATES': False,
|
||||
|
||||
# email address for studio staff (eg to request course creation)
|
||||
'STUDIO_REQUEST_EMAIL': '',
|
||||
|
||||
@@ -1026,7 +1024,6 @@ INSTALLED_APPS = [
|
||||
|
||||
'openedx.core.djangoapps.contentserver',
|
||||
'course_creators',
|
||||
'openedx.core.djangoapps.external_auth',
|
||||
'student.apps.StudentConfig', # misleading name due to sharing with lms
|
||||
'openedx.core.djangoapps.course_groups', # not used in cms (yet), but tests run
|
||||
'xblock_config.apps.XBlockConfig',
|
||||
|
||||
@@ -279,26 +279,6 @@ HEARTBEAT_CHECKS = ENV_TOKENS.get('HEARTBEAT_CHECKS', HEARTBEAT_CHECKS)
|
||||
HEARTBEAT_EXTENDED_CHECKS = ENV_TOKENS.get('HEARTBEAT_EXTENDED_CHECKS', HEARTBEAT_EXTENDED_CHECKS)
|
||||
HEARTBEAT_CELERY_TIMEOUT = ENV_TOKENS.get('HEARTBEAT_CELERY_TIMEOUT', HEARTBEAT_CELERY_TIMEOUT)
|
||||
|
||||
# Django CAS external authentication settings
|
||||
CAS_EXTRA_LOGIN_PARAMS = ENV_TOKENS.get("CAS_EXTRA_LOGIN_PARAMS", None)
|
||||
if FEATURES.get('AUTH_USE_CAS'):
|
||||
CAS_SERVER_URL = ENV_TOKENS.get("CAS_SERVER_URL", None)
|
||||
AUTHENTICATION_BACKENDS = [
|
||||
'django.contrib.auth.backends.ModelBackend',
|
||||
'django_cas.backends.CASBackend',
|
||||
]
|
||||
|
||||
INSTALLED_APPS.append('django_cas')
|
||||
|
||||
MIDDLEWARE_CLASSES.append('django_cas.middleware.CASMiddleware')
|
||||
CAS_ATTRIBUTE_CALLBACK = ENV_TOKENS.get('CAS_ATTRIBUTE_CALLBACK', None)
|
||||
if CAS_ATTRIBUTE_CALLBACK:
|
||||
import importlib
|
||||
CAS_USER_DETAILS_RESOLVER = getattr(
|
||||
importlib.import_module(CAS_ATTRIBUTE_CALLBACK['module']),
|
||||
CAS_ATTRIBUTE_CALLBACK['function']
|
||||
)
|
||||
|
||||
# Specific setting for the File Upload Service to store media in a bucket.
|
||||
FILE_UPLOAD_STORAGE_BUCKET_NAME = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_BUCKET_NAME', FILE_UPLOAD_STORAGE_BUCKET_NAME)
|
||||
FILE_UPLOAD_STORAGE_PREFIX = ENV_TOKENS.get('FILE_UPLOAD_STORAGE_PREFIX', FILE_UPLOAD_STORAGE_PREFIX)
|
||||
|
||||
@@ -9,7 +9,6 @@ import contentstore.views
|
||||
from cms.djangoapps.contentstore.views.organization import OrganizationListView
|
||||
import openedx.core.djangoapps.common_views.xblock
|
||||
import openedx.core.djangoapps.debug.views
|
||||
import openedx.core.djangoapps.external_auth.views
|
||||
import openedx.core.djangoapps.lang_pref.views
|
||||
from openedx.core.djangoapps.password_policy import compliance as password_policy_compliance
|
||||
from openedx.core.djangoapps.password_policy.forms import PasswordPolicyAwareAdminAuthForm
|
||||
@@ -199,13 +198,6 @@ if settings.FEATURES.get('ENABLE_EXPORT_GIT'):
|
||||
if settings.FEATURES.get('ENABLE_SERVICE_STATUS'):
|
||||
urlpatterns.append(url(r'^status/', include('openedx.core.djangoapps.service_status.urls')))
|
||||
|
||||
if settings.FEATURES.get('AUTH_USE_CAS'):
|
||||
import django_cas.views
|
||||
|
||||
urlpatterns += [
|
||||
url(r'^cas-auth/login/$', openedx.core.djangoapps.external_auth.views.cas_login, name="cas-login"),
|
||||
url(r'^cas-auth/logout/$', django_cas.views.logout, {'next_page': '/'}, name="cas-logout"),
|
||||
]
|
||||
# The password pages in the admin tool are disabled so that all password
|
||||
# changes go through our user portal and follow complexity requirements.
|
||||
urlpatterns.append(url(r'^admin/password_change/$', handler404))
|
||||
|
||||
Reference in New Issue
Block a user