Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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 .

Supported versions

  • Python >= 2.7
  • Django >= 1.5



pip install django-dual-authentication

Then, add this line to your

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


  • AUTHENTICATION_METHOD: You can authenticate your users by 'username', 'email', 'both'. Default: 'both'.
  • AUTHENTICATION_CASE_SENSITIVE: You can choose 'username', 'email', 'both', 'none'. Default: 'both'.

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.

Also, note that if you combine certain options like AUTHENTICATION_METHOD = 'username' and AUTHENTICATION_CASE_SENSITIVE = 'username', then might be a good idea check if a not case sensitive user already exists, for your registation form’s username field. Other way, users having the same username with different capital letters, will not be able to login, for obvious reasons.



  • Moving to stable release.


  • 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

Release history Release notifications

This version
History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-dual-authentication-1.0.0.tar.gz (2.8 kB) Copy SHA256 hash SHA256 Source None Dec 15, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page