Skip to content


Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

Welcome to django-allauth-2fa!

django-allauth-2fa adds two-factor authentication to django-allauth. django-allauth is a set of Django applications which help with authentication, registration, and other account management tasks.

Source code



django-allauth-2fa attempts to maintain compatibility with supported versions of Django, django-allauth, and django-otp.

Current versions supported together is:

Django django-allauth django-otp Python
3.2 0.41.0 1.0, 1.1 3.7, 3.8, 3.9, 3.10
4.0 0.41.0 1.0, 1.1 3.8, 3.9, 3.10


django-allauth-2fa was initially created by Víðir Valberg Guðmundsson (@valberg), was maintained by Percipient Networks for many years, and is now maintained by Valohai. Please feel free to contribute if you find django-allauth-2fa useful!

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
  2. If you feel uncomfortable or uncertain about an issue or your changes, feel free to email and we will happily help you.
  3. Fork the repository on GitHub to start making your changes to the main branch (or branch off of it).
  4. Write a test which shows that the bug was fixed or that the feature works as expected.
  5. Send a pull request and bug the maintainer until it gets merged and published.

Running tests

Tests can be run using [pytest](

pip install -r requirements-test.txt

Running the test project

The test project can also be used as a minimal example using the following:

# Migrate the SQLite database first.
DJANGO_SETTINGS_MODULE=tests.settings python migrate
# Run the server with debug.
DJANGO_SETTINGS_MODULE=tests.settings python runserver_plus
# Run the shell.
DJANGO_SETTINGS_MODULE=tests.settings python shell_plus