Skip to main content

Django SSO solution

Project description

(Friendly fork, all credit should go to Marc Egli / frog32.)

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-sso2 using pip:

    pip install django-admin-sso2
  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.0

  • Removed support for OpenID

  • Python 3 compatible

1.0

Project details


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-sso2-2.0.3.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

django_admin_sso2-2.0.3-py2-none-any.whl (9.7 kB view details)

Uploaded Python 2

File details

Details for the file django-admin-sso2-2.0.3.tar.gz.

File metadata

File hashes

Hashes for django-admin-sso2-2.0.3.tar.gz
Algorithm Hash digest
SHA256 35424b6cc3278b89233fd8e9f4584167134b3ba32bb878a4a1eac1f5f3ea0201
MD5 488babac6832e0b87ab130957a0a4128
BLAKE2b-256 33c73b022b2f712216018fe28bc6e16d3d905a0b6e09bae3606cc6cb2df62876

See more details on using hashes here.

File details

Details for the file django_admin_sso2-2.0.3-py2-none-any.whl.

File metadata

File hashes

Hashes for django_admin_sso2-2.0.3-py2-none-any.whl
Algorithm Hash digest
SHA256 5532ab67ce584b55b9b1c302cb3f914769a59cd91dbedd08f24d739799345b4c
MD5 b043b3e857bf92645eb33e0737a4439d
BLAKE2b-256 9ed13b4e56c348eae9cd350455d13c88c973111e280065f3ea2481539a60d96d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page