Django admin SSO
(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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| django-admin-sso2-2.0.4.tar.gz | 6.5 kB | Without provenance | Details for django-admin-sso2-2.0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_admin_sso2-2.0.4-py2-none-any.whl | Python 2 | none | any | Details for django_admin_sso2-2.0.4-py2-none-any.whl |
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 |
Security for django-admin-sso2 2.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.