Skip to main content

Adds two factor authentication to django-allauth.

Project description

django-allauth-2f2a is a port of django-allauth-2fa that adds two-factor authentication to django-allauth and intends to continue active development of the code. The current goals include generating SVG codes as files to allow stricter content security policies, configuration of form classes used by the app to allow subclassing forms for use with django-crispy-forms, and improved CI and testing.

Features

Compatibility

django-allauth-2f2a will only maintain compatibility with supported versions of Django and python and recent, secure versions of django-allauth, and django-otp, currently:

Running Tests

Currently, tests can be run using the standard Django testing facility:

python manage.py test

or by running tox:

tox

Project tests will be moved to pytest in the future.

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 manage.py migrate
# Run the server with debug.
DJANGO_SETTINGS_MODULE=tests.settings python manage.py runserver
# Run the shell.
DJANGO_SETTINGS_MODULE=tests.settings python manage.py shell

Contributing

  • Create an issue/pull request. Check the roadmap for ideas.

  • All tox targets should pass. That includes all tests in all supported environments and all the linting checks (black, isort, flake8 and flake8-docstrings).

  • Test coverage should be 100%. New features should have new tests.

Roadmap

  • implement other OTP/2FA methods in addition to TOTP (see https://github.com/valohai/django-allauth-2fa/issues/23)

    • static

    • HOTP

    • YubiKey

    • Twilio

  • clarify code comments

  • clarify documentation and improve examples

  • publish documentation

  • include docstrings in published documentation

  • complete meaningful test coverage (make sure the 100% is not just the number)

  • generate SVG codes as files (completed 0.9.0)

  • allow configurable form classes (make your forms crispy; completed 0.9.0)

  • complete test coverage (completed 0.9.0)

  • require black, flake8-docstrings, pydocstyle, isort, pccc, and pre-commit (completed 0.8.1)

Author

django-allauth-2fa was originally created by Víðir Valberg Guðmundsson (@valberg) of Percipient Networks. All modifications after the port to django-allauth-2f2a are created and maintained by Jeremy A Gray at FQS.

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

django-allauth-2f2a-0.9.1.tar.gz (15.5 kB view hashes)

Uploaded Source

Built Distribution

django_allauth_2f2a-0.9.1-py3-none-any.whl (22.2 kB view hashes)

Uploaded Python 3

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