{"id":29509842,"url":"https://github.com/valohai/django-allauth-2fa","last_synced_at":"2025-07-16T08:02:29.833Z","repository":{"id":29859829,"uuid":"33404808","full_name":"valohai/django-allauth-2fa","owner":"valohai","description":"Two-factor authentication for Django Allauth","archived":false,"fork":false,"pushed_at":"2025-07-14T17:45:20.000Z","size":292,"stargazers_count":219,"open_issues_count":17,"forks_count":51,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-07-14T22:36:29.362Z","etag":null,"topics":["2fa","2factor","django","django-allauth","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valohai.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-04-04T12:31:29.000Z","updated_at":"2025-03-19T04:34:16.000Z","dependencies_parsed_at":"2022-07-12T16:09:27.993Z","dependency_job_id":"7924152f-762f-4cab-ae47-6560abb59fd6","html_url":"https://github.com/valohai/django-allauth-2fa","commit_stats":{"total_commits":269,"total_committers":26,"mean_commits":"10.346153846153847","dds":"0.47211895910780666","last_synced_commit":"6bd3101916f2fca6f2ff414b3b1181bbd44d1b99"},"previous_names":["percipient/django-allauth-2fa"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/valohai/django-allauth-2fa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valohai%2Fdjango-allauth-2fa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valohai%2Fdjango-allauth-2fa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valohai%2Fdjango-allauth-2fa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valohai%2Fdjango-allauth-2fa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valohai","download_url":"https://codeload.github.com/valohai/django-allauth-2fa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valohai%2Fdjango-allauth-2fa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265398553,"owners_count":23758491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","2factor","django","django-allauth","python"],"created_at":"2025-07-16T08:01:01.065Z","updated_at":"2025-07-16T08:02:29.711Z","avatar_url":"https://github.com/valohai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Welcome to django-allauth-2fa!\n==============================\n\n.. image:: https://github.com/valohai/django-allauth-2fa/actions/workflows/ci.yml/badge.svg\n    :target: https://github.com/valohai/django-allauth-2fa/actions/workflows/ci.yml\n\n.. image:: https://codecov.io/gh/valohai/django-allauth-2fa/branch/main/graph/badge.svg\n    :target: https://codecov.io/gh/valohai/django-allauth-2fa\n\n.. image:: https://readthedocs.org/projects/django-allauth-2fa/badge/?version=latest\n    :target: https://django-allauth-2fa.readthedocs.io/\n\ndjango-allauth-2fa adds `two-factor authentication`_ to\nversions of `django-allauth`_ older than 0.58.0.\n\nFor newer versions, you should use django-allauth's `built-in MFA support`_.\nPlease see `issue #189`_ for more information.\n\ndjango-allauth is a set of `Django`_ applications which help with\nauthentication, registration, and other account management tasks.\n\nSource code\n    http://github.com/percipient/django-allauth-2fa\nDocumentation\n    https://django-allauth-2fa.readthedocs.io/\n\n.. _two-factor authentication: https://en.wikipedia.org/wiki/Multi-factor_authentication\n.. _django-allauth: https://github.com/pennersr/django-allauth\n.. _Django: https://www.djangoproject.com/\n.. _built-in MFA support: https://docs.allauth.org/en/latest/mfa/introduction.html\n.. _issue #189: https://github.com/valohai/django-allauth-2fa/issues/189\n\nFeatures\n--------\n\n* Adds `two-factor authentication`_ views and workflow to `django-allauth`_.\n* Supports Authenticator apps via a QR code when enabling 2FA.\n* Supports single-use back-up codes.\n\nCompatibility\n-------------\n\ndjango-allauth-2fa is _not_ compatible with django-allauth versions newer than\n0.58.0.\n\ndjango-allauth has a built-in MFA implementation since version 0.56.0,\nwhich is likely preferable to this one.\n\ndjango-allauth-2fa attempts to maintain compatibility with supported versions of\nDjango, django-allauth, and django-otp.\n\nCurrent versions supported together is:\n\n======== ============== ============== ========================\nDjango   django-allauth django-otp     Python\n======== ============== ============== ========================\n4.1      0.57.2         1.2            3.8, 3.9, 3.10, 3.11\n4.2      0.57.2         1.2            3.8, 3.9, 3.10, 3.11\n======== ============== ============== ========================\n\nContributing\n------------\n\ndjango-allauth-2fa was initially created by\n`Víðir Valberg Guðmundsson (@valberg)`_, was maintained by\n`Percipient Networks`_ for many years, and finally by\n`Valohai`_.\n\nPlease feel free to contribute if you find django-allauth-2fa useful,\nbut do note that you should likely be using allauth.mfa instead.\n\n#. Check for open issues or open a fresh issue to start a discussion\n   around a feature idea or a bug.\n#. If you feel uncomfortable or uncertain about an issue or your changes,\n   feel free to email support@percipientnetworks.com and we will happily help you.\n#. Fork `the repository`_ on GitHub to start making your changes to the\n   **main** branch (or branch off of it).\n#. Write a test which shows that the bug was fixed or that the feature\n   works as expected.\n#. Send a pull request and bug the maintainer until it gets merged and\n   published.\n\nStart contributing\n''''''''''''''''''\nStart by cloning the project with:\n\n.. code-block:: bash\n\n    git clone https://github.com/valohai/django-allauth-2fa.git\n\nThe project uses `hatch`_ for building and package management.\nIf you don't have hatch installed, you can do so by running:\n\n.. code-block:: bash\n\n    pip install hatch\n\nSetup you virtual environment with hatch:\n\n.. code-block:: bash\n\n    hatch env create\n\nRunning tests\n'''''''''''''\n\nTests can be run using `pytest \u003chttps://docs.pytest.org/en/6.2.x/\u003e`_\n\n.. code-block:: bash\n\n    hatch run pytest\n\nRunning the test project\n''''''''''''''''''''''''\n\nThe test project can also be used as a minimal example using the following:\n\n.. code-block:: bash\n\n    hatch run python manage.py migrate\n    hatch run python manage.py runserver\n\n.. _Víðir Valberg Guðmundsson (@valberg): https://github.com/valberg\n.. _Percipient Networks: https://www.strongarm.io\n.. _Valohai: https://valohai.com/\n.. _the repository: http://github.com/valohai/django-allauth-2fa\n.. _hatch: https://hatch.pypa.io/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalohai%2Fdjango-allauth-2fa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalohai%2Fdjango-allauth-2fa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalohai%2Fdjango-allauth-2fa/lists"}