Django 1.4+ with SSL only
Note
Currently this application validates password fields via un-encrypted AJAX communication, use with SSL only! In the future this application may encrypt its AJAX communication via some JavaScript encryption library TBD.
This library integrates the current Django "best of" PCI auth libraries into a single application then fills in the gaps. Filling in the gaps involves making decisions for you e.g.:
And adding additional functionality e.g.:
Before you use this library in your applications you may wish to demo its functionality. To do so, follow these steps:
$ virtualenv . $ bin/pip install django-pci-auth $ bin/django-admin.py syncdb --settings=django_pci_auth.settings $ bin/django-admin.py runserver --settings=django_pci_auth.settings
A list of libraries included:
A list of relevant articles:
This is a built-in feature in Django 1.4+. Documented here for convenience:
PASSWORD_HASHERS = ( # From https://docs.djangoproject.com/en/1.4/topics/auth/: # "[redacted] This means that Django will use the first hash in the list # to store all passwords, but will support checking passwords stored with # the rest of the hashes in the list. If you remove a hash from the list # it will no longer be supported. 'django.contrib.auth.hashers.PBKDF2PasswordHasher', 'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher', 'django.contrib.auth.hashers.BCryptPasswordHasher', 'django.contrib.auth.hashers.SHA1PasswordHasher', 'django.contrib.auth.hashers.MD5PasswordHasher', 'django.contrib.auth.hashers.CryptPasswordHasher', )
How many old passwords will you store? This feature will prevent users from using the same passwords over and over again; it will keep the last OLD_PASSWORD_STORAGE_NUM number of passwords around and remove anything older. E.g.:
OLD_PASSWORD_STORAGE_NUM = 4
This software is licensed under the same BSD license that Django itself is licensed under. See: LICENSE.
[1] | This feature is included with Django 1.4+ |
[2] | This feature is provided by django-passwords |
[3] | This feature is provided by django-axes |
[4] | https://github.com/aclark4life/django-pci-auth/issues/3 |
[5] | https://github.com/aclark4life/django-pci-auth/issues/4 |