Skip to main content

Use Django for SSO - this package provides a bridge for third party packages.

Project description

https://travis-ci.org/modelbrouwers/django-sessionprofile.svg?branch=master https://coveralls.io/repos/modelbrouwers/django-sessionprofile/badge.svg

django-sessionprofile is the bridge between any software with customizable auth backends and Django. If you want to use Django for Single-Sign-On, this package does the Django heavy lifting.

Installation - Django

$ pip install django-sessionprofile

Add sessionprofile to INSTALLED_APPS, and run python manage.py migrate.

Add the sessionprofile middleware (sessionprofile.middleware.SessionProfileMiddleware) to your middleware settings - make sure it comes before the SessionMiddleware.

Additionally, the session cookie must be available for the third party application, this should not be a problem if it lives on the same domain.

Backend

Currently one backend is available: ‘sessionprofile.backends.DatabaseBackend’. In the future, alternative backends will be possible, like ‘sessionprofile.backends.CachedDatabaseBackend’.

Installation - third party application

This depends on which backend you decided to use, the example assumes the db backend.

When authenticating in the third party application, you should read the session cookie (SESSION_COOKIE_NAME), and query the sessionprofile table:

SELECT users_user.username, users_user.email FROM users_user, sessionprofile_sessionprofile sp WHERE sp.session_id = ‘<sessionid_from_cookie>’ AND users_user.id = sp.user_id

It’s up to you to implement the rest of the authentication flow. An example for phpBB 3.0.x is provided in the examples folder.

Thanks

Many thanks go to Resolver Systems Ltd (now part of PythonAnywhere) who made the initial version of this library, specifically aimed on phpBB3.

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-sessionprofile-0.1.1.tar.gz (4.6 kB view details)

Uploaded Source

File details

Details for the file django-sessionprofile-0.1.1.tar.gz.

File metadata

File hashes

Hashes for django-sessionprofile-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a8f872fca5be47ea8558e650b6c4df0322763feb7a5c0d630c8aa014f9f16c67
MD5 9fcab82d1b386f9c04df25499b3f6af4
BLAKE2b-256 b31ef4fae4e9525f864fe4f567c8a9ec54536ac0a971a5fdae14ecfe9a36a766

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page