You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

auth0-oauth2-backend

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

auth0-oauth2-backend

An Open edX Python Social Auth backend for Tutor Auth0

1.0.4
PyPI
Maintainers
1

Overview

This is a custom backend for Open edX that allows users to authenticate using Auth0. It also supports OTP login for users who have enabled it in their Auth0 account.

Usage

  • Add this package to your project's requirements

Add this project to your extra pip requirements.

.. code-block:: yaml

    OPENEDX_EXTRA_PIP_REQUIREMENTS:
      - git+https://github.com/blend-ed/auth0-oauth2-backend.git

2. Configure your Open edX LMS application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code-block:: python

    from tutor import hooks

    hooks.Filters.ENV_PATCHES.add_items(
        [
            (
                "openedx-common-settings",
                """
                AUTH0_DOMAIN = "<YOUR_AUTH0_DOMAIN>"
                AUTH0_AUDIENCE = "<YOUR_AUTH0_AUDIENCE>"
                EMAIL_DOMAIN = "<Domain to be appended on the end of email (eg: email.com)>"
                TPA_AUTOMATIC_LOGOUT_ENABLED = True
                """,
            ),
            (
                "lms-env",
                """
                THIRD_PARTY_AUTH_BACKENDS: [
                    "auth0_oauth2.auth0.Auth0OAuth2",
                    "social_core.backends.google.GoogleOAuth2",
                    "common.djangoapps.third_party_auth.saml.SAMLAuthBackend",
                    "django.contrib.auth.backends.ModelBackend"
                ]
                SOCIAL_AUTH_AUTH0_PLUGIN_FIELDS_STORED_IN_SESSION:
                - "auth_entry"
                ADDL_INSTALLED_APPS:
                - "auth0_oauth2"
                """
            ),
            (
                "common-env-features",
                """
                ENABLE_THIRD_PARTY_AUTH: true
                """
            )
        ]
    )

3. Configure your Auth0 provider configurations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is the code to be placed in the other settings field:

.. code-block:: python

    {
      "DOMAIN": <Your Auth0 domain>,
      "DEFAULT_SCOPE": [
        "openid",
        "profile",
        "email"
      ],
      "logout_url": "https://YOUR_AUTHO_DOMAIN/logout?returnTo=YOUR_LMS_LOGOUT_URL"
    }

Images
------

.. image:: https://github.com/user-attachments/assets/37ab6f4f-5c43-4ece-b53e-b1102c4457c5
   :alt: Initial details section
   :align: center

.. image:: https://github.com/user-attachments/assets/0cd7911e-382d-4891-965c-69cfa7b0e4b0
   :alt: Options section
   :align: center

.. image:: https://github.com/user-attachments/assets/31ae3af4-6728-4ff3-9ceb-a9b85d37fab2
   :alt: Secrets section
   :align: center

4. Configure your Auth0 application in Auth0 dashboard
  • Go to your Auth0 dashboard
  • Click on settings and then go to the advanced settings
  • Add the logout URL of your Open edX instance in the allowed logout URLs

.. image:: https://github.com/user-attachments/assets/83714527-bada-44c3-a236-d2b8f1a32294 :alt: Allowed logout URLs :align: center

Keywords

Open edX

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts