Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

SAML 2.0 IdP for Django

Project description

This is a fork novapost/django-saml2-idp that is distributed indipendantly as dj-saml-idp.

dj-saml-idp implements the Identity Provider side of the SAML 2.0 protocol and makes user authentication available to external applications.

Note: Only supports Django 1.5+.


The test runner is pytest and we are using tox to run tests against different versions of Django. The test can be run locally using either tox directly (preferably in a virtualenv):

$ pip install tox
$ tox

Or inside a Docker container using using the provided Dockerfile and with docker-compose (requires docker and docker-compose to be installed):

$ docker-compose run test-27


First of all, create a new version of the package. We use bumpversion to handle updating all version strings, committing the changes and creating a new git tag automatically. To bump the packag version use the follwoing command with whichever part of the semantic version you’d like to update:

$ bumpversion (major|minor|patch)

for instance for a minor update, use (which should be the most common case):

$ bumpersion minor

You need the PyPI credentials for the mobify account to be able to release a new version and the build script is expecting it defined as an environment variable:

$ export PYPI_PASSWORD=supersecretpassword

Releasing a new version to PyPI is very simple. The first thing you need to do is make sure that all the test are passing and that the version in saml2idp/ is the one that you’d like to create on PyPI.

With that done, all you need to do is run the following commands:

$ make release

This will cleanup the build/ and dist/ directories, build a source package and a Python wheel. Both will then be uploaded to PyPI.


Distributed under the MIT License.

Release History

0.22.0 (2016-05-26)

  • Allow a redirect_to parameter to be passed to the logout view to redirect the user to after succesful logout instead of showing the logout page.
  • Introduce logging through structlog and provide more informative logging out put to make SAML flows easier to debug. Log messages are all logged under the saml2idp logger now.
  • Adding a new-style processor that carries a name attribute which allows custom templates for each processor during the SSO process. Custom templates are optional and will default to the same templates as before. The change is backwards compatible and handles old-style processors as previously.

0.21.2 (2016-04-18)

  • Switched from django.utils.importlib to Python’s standard importlib to work with Django 1.9.
  • Update the test setup to run tests against Django 1.9 in addition to all other versions of Django.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dj-saml-idp, version 0.22.0
Filename, size File type Python version Upload date Hashes
Filename, size dj_saml_idp-0.22.0-py2.py3-none-any.whl (24.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size dj-saml-idp-0.22.0.tar.gz (16.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page