A Django PAM authentication backend implementation.
The MIT License (MIT)
This is a simple authentication backend that uses the python-pam package. Django PAM can be used in an SSO (Single Sign On) environment or just with a single box where you want to log into a Django app with your UNIX login.
Updated for Django 4.2.x and Python 3.11.
Python 2.x has been depricated. If you need a version of Django PAM use version 2.0.1.
- PAM Authentication Backend
- Login and Logout Views
- Templates for both standard and modal authentication.
- Supporting JavaScript and CSS.
You will need to add Django PAM to your INSTALLED_APPS
:
INSTALLED_APPS = [ ... 'django_pam', ]
Next you will need to add the Django PAM backend to the AUTHENTICATION_BACKENDS
:
AUTHENTICATION_BACKENDS = [ 'django_pam.auth.backends.PAMBackend', 'django.contrib.auth.backends.ModelBackend', ]
The user that runs the application needs to be a member of the
/etc/shadow
file group, this is usually the web server user. This
is necessary so the web server can authenticate other users. To do
this run the command below with the proper user:
$ sudo usermod -a -G shadow <user>
Complete Documentation can be found on Read the Docs at: Django PAM