Skip to main content

Django app for user authentication

Project description

DjaoDjin-Signup

PyPI version

This repository contains a Django App for frictionless signup.

The app will register and login a user with as little as only an email address.

When the user logs out and tries to logs back in with the same email address, the app will first verify the email address through an activation url send to the registered email address. Setting the password is deferred to after the email address has been verified.

If during the first login and/or subsequent login, the email address should be verified before moving forward (ex: before presenting a payment view), you should decorate the view with an active_required decorator.

This project contains bare bone templates which are compatible with Django and Jinja2 template engines. To see djaodjin-signup in action as part of a full-fledged subscription-based session proxy, take a look at djaoapp.

Install

Add the signup urls to your urlpatterns and EmailOrUsernameModelBackend to the settings AUTHENTICATION_BACKENDS.

urls.py:

    urlpatterns = ('',
        (r'^api/', include('signup.urls.api')),
        (r'^', include('signup.urls.views')),

    )

settings.py:

    AUTHENTICATION_BACKENDS = (
        'signup.backends.auth.EmailOrUsernameModelBackend',
        'django.contrib.auth.backends.ModelBackend'

    )

Development

After cloning the repository, create a virtualenv environment, install the prerequisites, create and load initial data into the database, then run the testsite webapp.

$ python -m venv .venv
$ source .venv/bin/activate
$ pip install -r testsite/requirements.txt
$ make vendor-assets-prerequisites
$ make initdb
$ python manage.py runserver

# Browse http://localhost:8000/

Release Notes

Tested with

  • Python: 3.7, Django: 3.2 (LTS)
  • Python: 3.10, Django: 4.2 (latest) - see #55
  • Python: 2.7, Django: 1.11 (legacy) - use testsite/requirements-legacy.txt

0.9.8

  • fixes TransactionManagementError when duplicate candidate usernames

previous release notes

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

djaodjin_signup-0.9.8.tar.gz (101.1 kB view details)

Uploaded Source

Built Distribution

djaodjin_signup-0.9.8-py3-none-any.whl (163.3 kB view details)

Uploaded Python 3

File details

Details for the file djaodjin_signup-0.9.8.tar.gz.

File metadata

  • Download URL: djaodjin_signup-0.9.8.tar.gz
  • Upload date:
  • Size: 101.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.13

File hashes

Hashes for djaodjin_signup-0.9.8.tar.gz
Algorithm Hash digest
SHA256 02a5f9c4fa724bdbf388cd8a54e85e72e961b62d8c47c8b4c58f3376982d11ec
MD5 9dd33c4c26964e292408c91a8b40f714
BLAKE2b-256 afb5033a2a7530de0573ee41e1a579029ff08b009a953ef12dd2e3b4ff27956d

See more details on using hashes here.

File details

Details for the file djaodjin_signup-0.9.8-py3-none-any.whl.

File metadata

File hashes

Hashes for djaodjin_signup-0.9.8-py3-none-any.whl
Algorithm Hash digest
SHA256 89eb5cff4cca050f8642391c448c9b66a1b21fac354a695f8fe6540f24820106
MD5 97364ea2a0ae529d85df610375bc44ad
BLAKE2b-256 94cacf7c7b586f80b07dd70f3799a220c8eccd7a124f75d502ff0a235d14c59d

See more details on using hashes here.

Supported by

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