Skip to main content

Allows authentication with either a username or an email address.

Project description

This package allows to authenticate a user with either a username an email address, or both. It overrides Django authenticate method, so it should work in almost any case of use, without touch anything else. For support and aditional documentation, in case you need it, please visit our Github repository .



pip install django-dual-authentication

Then, add this line to your

AUTHENTICATION_BACKENDS = ['django-dual-authentication.backends.DualAuthentication']

Supported versions

  • Python >= 2.7
  • Django >= 1.5

Common issues

We’ve been reported about users having problems with MySQL and dual-authentication case sensitive option. This is because mysql is case-insensitive by default. So, if you need case sensitive authentication, probably you’d prefer avoid this database engine.



  • New feature: Allows authentication using username, email, or both.
  • New feature: Allows enable or disable case sensitive for username and/or email.
  • Fixed: Bug where users cannot login if exists a username equal to an email address.


  • Fixed: Bug where usernames containing ‘@’ can only login using email.
  • Fixed: Testproject.

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-dual-authentication, version 0.5.0
Filename, size File type Python version Upload date Hashes
Filename, size django-dual-authentication-0.5.0.tar.gz (1.7 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