Git Product home page Git Product logo

django-admin-sso's Introduction

Django admin SSO

https://travis-ci.org/frog32/django-admin-sso.png?branch=master https://coveralls.io/repos/frog32/django-admin-sso/badge.png?branch=master https://pypip.in/v/django-admin-sso/badge.png

Django admin SSO lets users login to a django admin using an OAuth2 or an openid provider. It then looks up the email address of the new user and looks up the rights for them.

Installation

  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 oauth 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/

If you don't specify a client id django-admin-sso will fallback to openid.

  1. Run syncdb 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

1.0

django-admin-sso's People

Contributors

adam-thomas avatar frog32 avatar ghickman avatar matthiask avatar meshy avatar mjtamlyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

django-admin-sso's Issues

redirect_uri always set to 'http' scheme

Hi

When i try to sign in with my google account, the redirect_uri of the https://accounts.google.com/o/oauth2/auth request is always set to http scheme, even if i navigate to admin throgh https.
This causes Error 400: redirect_uri_mismatch error to be thrown.

In google console i have set redirect uri to https://...
If i set it to http://... in the console, everything works as expected.

Do you have any idea why this might happen ?

Deprecated OpenID?

Using OpenID is now deprecated and OpenID support will be removed in a future release

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.