{"id":21196,"library":"edx-auth-backends","title":"edx-auth-backends","description":"Custom authentication backends and pipeline steps for Open edX. Version 5.0.0 adds Django 5.2 support and drops Python 3.8 and 3.11. Release cadence is irregular; maintained by the Open edX community.","status":"active","version":"5.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/auth-backends","tags":["django","authentication","open-edx","oauth2","oidc"],"install":[{"cmd":"pip install edx-auth-backends","lang":"bash","label":"Latest"}],"dependencies":[{"reason":"Backends require Django settings and middleware","package":"Django","optional":false},{"reason":"Used by backends for OAuth2/OpenID Connect flows","package":"social-auth-core","optional":false},{"reason":"Django integration for social_auth","package":"social-auth-app-django","optional":false}],"imports":[{"note":"Commonly imported from wrong submodule","symbol":"EdXOpenIdConnect","correct":"from edx_auth_backends.open_id_connect import EdXOpenIdConnect"},{"note":"Ensure correct case: OAuth2 not Oauth2","symbol":"EdXOAuth2","correct":"from edx_auth_backends.oauth2 import EdXOAuth2"},{"note":"Config class moved in v4.0","symbol":"EdxBackendsSocialAuthConfig","correct":"from edx_auth_backends import EdxBackendsSocialAuthConfig"}],"quickstart":{"code":"# settings.py\nINSTALLED_APPS = [\n    ...\n    'social_django',\n    'edx_auth_backends',\n]\n\nAUTHENTICATION_BACKENDS = [\n    'edx_auth_backends.backends.EdXOpenIdConnect',\n    'django.contrib.auth.backends.ModelBackend',\n]\n\nSOCIAL_AUTH_EDX_OAUTH2_KEY = os.environ.get('EDX_OAUTH2_KEY', '')\nSOCIAL_AUTH_EDX_OAUTH2_SECRET = os.environ.get('EDX_OAUTH2_SECRET', '')\n# See docs for full pipeline settings.","lang":"python","description":"Basic configuration for Open edX SSO using OpenID Connect."},"warnings":[{"fix":"Use Python 3.9, 3.10, or 3.12+.","message":"Python 3.8 and 3.11 support dropped in v5.0.0.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Ensure Django 5.2+ is installed.","message":"Django 5.2 is supported; older Django versions may not work.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Upgrade to v4.0.1+ or replace with django.urls.path/re_path.","message":"RemovedInDjango40Warning: django.conf.urls.url and include deprecated. Fixed in v4.0.1 but may reappear if using older versions.","severity":"breaking","affected_versions":"<4.0.1"},{"fix":"Update custom pipeline steps to use current social-auth-core API.","message":"Social auth pipeline steps changed in v4.0. Backends no longer inherit from deprecated classes.","severity":"breaking","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install edx-auth-backends' and activate correct virtualenv.","cause":"Package not installed or wrong Python environment.","error":"ModuleNotFoundError: No module named 'edx_auth_backends'"},{"fix":"Use 'from edx_auth_backends.open_id_connect import EdXOpenIdConnect' (submodule added in v4.0).","cause":"Incorrect import path or version mismatch.","error":"ImportError: cannot import name 'EdXOpenIdConnect' from 'edx_auth_backends'"},{"fix":"Upgrade social-auth-core to >=4.4.0.","cause":"Outdated social-auth-core version incompatible with current backends.","error":"TypeError: __init__() got an unexpected keyword argument 'redirect_uri'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}