Third Party Auth Customization

@feanil thank you for your response. What I have observed is if I try to override/change any of envs in cms/envs/common.py or lms/envs/common.py , it is successful. However if I override any of the settings in common/djangoapps, those get set before these djangoapps and those originial source code overrides it. eg SOCIAL_AUTH_PIPELINE is defined in ThirdPartyAuthConfig and thus it overrides my changes in my plugin.

Here is the source code-

class ThirdPartyAuthConfig(AppConfig): # lint-amnesty, pylint: disable=missing-class-docstring

name = 'common.djangoapps.third_party_auth'

verbose_name = “Third-party authentication”

def ready(self):

# Import signal handlers to register them

from .signals import handlers # noqa: F401 pylint: disable=unused-import

# To override the settings before loading social_django.

if settings.FEATURES.get(‘ENABLE_THIRD_PARTY_AUTH’, False):

self._enable_third_party_auth()

def _enable_third_party_auth(self):

“”"

    Enable the use of third_party_auth, which allows users to sign in to edX

    using other identity providers. For configuration details, see

    common/djangoapps/third_party_auth/settings.py.

    """

from common.djangoapps.third_party_auth import settings as auth_settings

auth_settings.apply_settings(settings)

def apply_settings(django_settings):

django_settings.SOCIAL_AUTH_PIPELINE = [

    'common.djangoapps.third_party_auth.pipeline.parse_query_params',


]

Summary

This text will be hidden