/django-allauth-2fa

Two-factor authentication for Django Allauth

Primary LanguagePythonOtherNOASSERTION

Welcome to django-allauth-2fa!

https://readthedocs.org/projects/django-allauth-2fa/badge/?version=latest

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
http://github.com/percipient/django-allauth-2fa
Documentation
https://django-allauth-2fa.readthedocs.io/

Features

Compatibility

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
4.1 0.53.0 1.2 3.8, 3.9, 3.10, 3.11
4.2 0.53.0 1.2 3.8, 3.9, 3.10, 3.11

Contributing

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 support@percipientnetworks.com 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.

Start contributing

Start by cloning the project with:

git clone https://github.com/valohai/django-allauth-2fa.git

The project uses hatch for building and package management. If you don't have hatch installed, you can do so by running:

pip install hatch

Setup you virtual environment with hatch:

hatch env create

Running tests

Tests can be run using pytest

hatch run pytest

Running the test project

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

hatch run python manage.py migrate
hatch run python manage.py runserver