Custom edX authentication backends and pipeline steps
This repo houses custom authentication backends, views, and pipeline steps used by edX projects such as the edx-analytics-dashboard and ecommerce. These components are primarily intended to aid the usage of edX’s single sign-on functionality (built atop OpenID Connect).
This package is compatible with Python 2.7 and 3.5, and Django 1.8 and 1.9.
The auth_backends package can be installed from PyPI using pip:
$ pip install edx-auth-backends
|Open ID Connect||Authenticate with the LMS, an OIDC provider.|
Required Django settings:
Set these to the correct values for your OAuth2/OpenID Connect provider. SOCIAL_AUTH_EDX_OIDC_ID_TOKEN_DECRYPTION_KEY should be the same as SOCIAL_AUTH_EDX_OIDC_SECRET. Set EXTRA_SCOPE equal to a list of scope strings to request additional information from the edX OAuth2 provider at the moment of authentication (e.g., provide course permissions bits to get a full list of courses).
This package includes a login view, EdxOpenIdConnectLoginView, that utilizes edX’s implementation of OpenID Connect. This should be used for all microservices/IDAs.
LogoutRedirectBaseView is also included. It should be overridden, and customized. See the docstring for details.
auth_urlpatterns in urls.py includes the patterns necessary to facilitate OpenID Connect login. This should be used by microservices to avoid code duplication. Note that microservices will still need to provide their own implementations of LogoutRedirectBaseView, and define the linking in the service’s urls.py file.
Call make test.
The code in this repository is licensed under the AGPL unless otherwise noted.
Please see LICENSE.txt for details.
How To Contribute
Contributions are very welcome!
Please read How To Contribute for details.
Even though it was written with edx-platform in mind, the guidelines should be followed for Open edX code in general.
Reporting Security Issues
Please do not report security issues in public. Please email firstname.lastname@example.org.
Mailing List and IRC Channel
You can discuss this code on the edx-code Google Group or in the #edx-code IRC channel on Freenode.
- Update required version of Python Social Auth to 0.2.3.
- Update required version of Python Social Auth to 0.2.2.
- Initial release.
Renzo Lucioni <email@example.com>
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size edx_auth_backends-0.5.0-py2.py3-none-any.whl (14.2 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size edx-auth-backends-0.5.0.tar.gz (22.4 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for edx_auth_backends-0.5.0-py2.py3-none-any.whl