Skip to main content
https://travis-ci.org/matthiask/django-admin-sso.png?branch=master

Django admin SSO lets users login to Django’s administration panel using an OAuth2 provider instead of a username/password combination.

Installation

django-admin-sso is most often used with Google OAuth2 and the instructions follow that assumption. At least in theory it is possible to use a different OAuth2 provider.

  1. Make sure you have a working Django project setup.

  2. Install django-admin-sso using pip:

    pip install django-admin-sso
  3. Add admin_sso to INSTALLED_APPS in your settings.py file:

    INSTALLED_APPS = (
        ...
        'admin_sso',
        ...
    )
  4. Add the django-admin authentication backend:

    AUTHENTICATION_BACKENDS = (
        'admin_sso.auth.DjangoSSOAuthBackend',
        'django.contrib.auth.backends.ModelBackend',
    )
  5. Insert your OAuth2 client id and secret key into your settings file:

    DJANGO_ADMIN_SSO_OAUTH_CLIENT_ID = 'your client id here'
    DJANGO_ADMIN_SSO_OAUTH_CLIENT_SECRET = 'your client secret here'

Navigate to Google’s Developer Console, create a new project, and create a new client ID under the menu point “APIs & AUTH”, “Credentials”. The redirect URI should be of the form http://example.com/admin/admin_sso/assignment/end/

  1. Run ./manage.py migrate to create the needed database tables.

  2. Log into the admin and add an Assignment.

Assignments

Any Remote User -> Local User X

  • Select Username mode “any”.

  • Set Domain to your authenticating domain.

  • Select your local user from the User drop down.

Remote User -> Local User

  • Select Username mode “matches” or “don’t match”.

  • Set username to [not] match by.

  • Set Domain to your authenticating domain.

  • Select your local user from the User drop down.

Changelog

3.0

  • Dropped support for Django<1.11 and Python<3.

  • Modernized the package and reformatted the code using black.

2.4

  • Official support for Django 1.11.

2.3

  • Raised the minimum supported Django version to the LTS version, 1.8.

  • Avoid deprecation warnings with Django 1.10.

2.2

  • Official support for Django 1.10 (no changes were necessary)

  • Made the admin panel usable on sites with many users.

2.1

  • Removed support for OpenID

  • Python 3 compatible

  • Dropped support for Django versions older than 1.7

  • Continued development as django-admin-sso (2.0.x versions were released independently as django-admin-sso2)

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-admin-sso-3.0.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_admin_sso-3.0.0-py2.py3-none-any.whl (10.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file django-admin-sso-3.0.0.tar.gz.

File metadata

  • Download URL: django-admin-sso-3.0.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for django-admin-sso-3.0.0.tar.gz
Algorithm Hash digest
SHA256 1f11298f9a0fe7c34acfae057ae8e19637046fef0cd4b5b3fa0fcebb1e5526a9
MD5 835c5bf1596b592d962960322dd39da5
BLAKE2b-256 9db8f54d22c3e457919825bd5bc4fc8e31d778a1fb72d8ab3b5f5f5108c78373

See more details on using hashes here.

File details

Details for the file django_admin_sso-3.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_admin_sso-3.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.9

File hashes

Hashes for django_admin_sso-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 32548dc797296642d4f7b51d37a48fd2fbfd938e2db01f738c4ef4acc16d1d5e
MD5 5a900fe87f52c2dfe1c44c137ea59d48
BLAKE2b-256 5becc3ed4c836e12140be444600666dab892237d75360fbf1b0e3152f43674fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page