Skip to main content

A simple django app that provides site-wide easy password authentication for 1 user

Project description

django-pin-passcode Circle CI

Django Pin Passcode Example

This is a simple app that adds a site wide pin-passcode for quick authentication. I wrote this originally for my personal motivation tracker chin up so I could quickly login from my phone.

You enter a PIN passcode (using 0-9 and #, can use numpad) until the correct pin is entered, then:

  • If PIN_PASSCODE_USERNAME is set, you will be logged in as this user

  • Otherwise, a session variable will be set and you will be able to browse the site

Installation

pip install django-pin-passcode
# settings.py

INSTALLED_APPS += (
    'pin_passcode',
)

...

MIDDLEWARE_CLASSES += (
    'pin_passcode.middleware.PinPasscodeMiddleware',
)

...

# user to sign in as, omit this option to use a session variable instead
# PIN_PASSCODE_USERNAME = 'eric' # uncomment this to login as "eric" after valid pin code is entered

# the passcode required to login as the above user, using 0-9 and '#'
# If no PIN is set, pin passcode will allow anyone to access the site 
PIN_PASSCODE_PIN = 1234

# IP addresses to give access to automatically
PIN_PASSCODE_IP_WHITELIST = ('123.123.123.123',)
# urls.py

urlpatterns = patterns(
    ...
    url(r'^', include('pin_passcode.urls')),
    ...
)

Testing

pip install -r requirements.txt

py.test

Release notes

0.3.1

  • Empty PIN_PASSCODE_PIN disables pin passcode

0.3.0

  • Switched to Python 3 and added support for Django >= 2.1

0.2.0

  • Added MiddlewareMixin for > Django 1.10 compatibility

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 django-pin-passcode, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size django_pin_passcode-0.3.1-py3-none-any.whl (42.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-pin-passcode-0.3.1.tar.gz (41.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page