(Friendly fork, all credit should go to Marc Egli / frog32.)
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.
Make sure you have a working Django project setup.
Install django-admin-sso2 using pip:
pip install django-admin-sso2
Add admin_sso to INSTALLED_APPS in your settings.py file:
INSTALLED_APPS = ( ... 'admin_sso', ... )Add the django-admin authentication backend:
AUTHENTICATION_BACKENDS = ( 'admin_sso.auth.DjangoSSOAuthBackend', 'django.contrib.auth.backends.ModelBackend', )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/
Run ./manage.py migrate to create the needed database tables.
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
Add support for OAuth2.0 since google closes its OpenID endpoint https://developers.google.com/accounts/docs/OpenID
Using OpenID is now deprecated and OpenID support will be removed in a future release.
Add more tests to get a decent coverage.
Release files for django-admin-sso2 2.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-admin-sso2-2.0.4.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_admin_sso2-2.0.4-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 16.2 kB
Release files / django-admin-sso2-2.0.4.tar.gz
| Download URL | django-admin-sso2-2.0.4.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67ad3f25a370ac40e460e9f0c622bbd906110cabab0040961f6a95944458c646
|
|
BLAKE2b-256 checksum How to use checksums |
9ecebd69dc00ebd33fd9b1f6a3eb8ff7ee0c4c6ad49a82f597ab7f666e992f0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / django_admin_sso2-2.0.4-py2-none-any.whl
| Download URL | django_admin_sso2-2.0.4-py2-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
039cb97d7c9eb7a285d5065a49234241c3c68b0cff0fe8885057024132968a99
|
|
BLAKE2b-256 checksum How to use checksums |
f079480e481edcca8145fe1c6b571ca5775d5e8f0e63cf90ab16bcb10440da43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |