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

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-2.2.0.tar.gz (6.7 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-2.2.0-py2-none-any.whl (10.0 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for django-admin-sso-2.2.0.tar.gz
Algorithm Hash digest
SHA256 f2ffd76196760836f17002ec27527256e9eb90052553da952f52e4dc02387ab8
MD5 67fd259745a4fa774489e5700fdaa4ca
BLAKE2b-256 b68de77babd2f9c318b96f4d987e61004063a48e3a1313dad6e15055be6558ad

See more details on using hashes here.

File details

Details for the file django_admin_sso-2.2.0-py2-none-any.whl.

File metadata

File hashes

Hashes for django_admin_sso-2.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 f5222c25cff6746101473edae8aced90124d25e4d4f6c59d67baf50d20f30c3a
MD5 c7221d786a547f95fbfb4865f6c3a0a8
BLAKE2b-256 55cebc64662583b33abe1343c5a252d71f34a8694a686cf1538cca29dc9ddc34

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 Pingdom Monitoring Sentry Error logging StatusPage Status page