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

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for django-admin-sso2-2.0.2.tar.gz
Algorithm Hash digest
SHA256 9244e5a5e67a5394fc8a69dae6c8ca26d83643fc9c40403e7e6aa8cae75f624b
MD5 0c0f2a9f36ac9bcb792df22bc9573e3d
BLAKE2b-256 76853b82a6fcdf3a94f45f1849dfcfe79c4e8f97e0e7cff89676b5b25ccc1de9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for django_admin_sso2-2.0.2-py2-none-any.whl
Algorithm Hash digest
SHA256 36e15c164ac9eb2b438078148e1261f61c2869403e22c0e9be2f78c4b259e3d7
MD5 f7fa00c93a450837c1ccde95c461488c
BLAKE2b-256 3467a21dd1ae76ebd11f9fed276c066cc80dc9b6bea4b97a94a9d211189d10a0

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