{"id":13490999,"url":"https://github.com/jazzband/django-two-factor-auth","last_synced_at":"2026-01-15T22:20:48.919Z","repository":{"id":4621420,"uuid":"5765336","full_name":"jazzband/django-two-factor-auth","owner":"jazzband","description":"Complete Two-Factor Authentication for Django providing the easiest integration into most Django projects.","archived":false,"fork":false,"pushed_at":"2026-01-12T17:30:17.000Z","size":2173,"stargazers_count":1848,"open_issues_count":105,"forks_count":463,"subscribers_count":33,"default_branch":"master","last_synced_at":"2026-01-13T04:10:21.537Z","etag":null,"topics":["authentication","django","two-factor-authentication"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jazzband.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.rst","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://jazzband.co/donate"]}},"created_at":"2012-09-11T13:25:14.000Z","updated_at":"2026-01-07T21:32:21.000Z","dependencies_parsed_at":"2023-02-16T11:01:38.861Z","dependency_job_id":"4b612bde-4f2b-4147-a0ad-76db8229747f","html_url":"https://github.com/jazzband/django-two-factor-auth","commit_stats":{"total_commits":719,"total_committers":111,"mean_commits":"6.4774774774774775","dds":0.7343532684283727,"last_synced_commit":"95255bbe714830152e68c9ff2dd09dee4087a2a1"},"previous_names":["bouke/django-two-factor-auth"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/jazzband/django-two-factor-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-two-factor-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-two-factor-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-two-factor-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-two-factor-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jazzband","download_url":"https://codeload.github.com/jazzband/django-two-factor-auth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jazzband%2Fdjango-two-factor-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28472626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T22:13:38.078Z","status":"ssl_error","status_checked_at":"2026-01-15T22:12:11.737Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["authentication","django","two-factor-authentication"],"created_at":"2024-07-31T19:00:52.732Z","updated_at":"2026-01-15T22:20:48.914Z","avatar_url":"https://github.com/jazzband.png","language":"Python","funding_links":["https://jazzband.co/donate"],"categories":["Libs","Python"],"sub_categories":["MFA"],"readme":"================================\nDjango Two-Factor Authentication\n================================\n\n.. image:: https://jazzband.co/static/img/badge.svg\n        :target: https://jazzband.co/\n        :alt: Jazzband\n\n.. image:: https://github.com/jazzband/django-two-factor-auth/workflows/build/badge.svg?branch=master\n    :alt: Build Status\n    :target: https://github.com/jazzband/django-two-factor-auth/actions\n\n.. image:: https://codecov.io/gh/jazzband/django-two-factor-auth/branch/master/graph/badge.svg\n    :alt: Test Coverage\n    :target: https://codecov.io/gh/jazzband/django-two-factor-auth\n\n.. image:: https://badge.fury.io/py/django-two-factor-auth.svg\n    :alt: PyPI\n    :target: https://pypi.python.org/pypi/django-two-factor-auth\n\nComplete Two-Factor Authentication for Django. Built on top of the one-time\npassword framework django-otp_ and Django's built-in authentication framework\n``django.contrib.auth`` for providing the easiest integration into most Django\nprojects. Inspired by the user experience of Google's Two-Step Authentication,\nallowing users to authenticate through call, text messages (SMS), by using a\ntoken generator app like Google Authenticator or a YubiKey_ hardware token\ngenerator (optional).\n\nIf you run into problems, please file an issue on GitHub, or contribute to the\nproject by forking the repository and sending some pull requests. The package\nis translated into English, Dutch and other languages. Please contribute your\nown language using Transifex_.\n\nTest drive this app through the `example app`_. It demos most features except\nthe Twilio integration. The example also includes django-user-sessions_ for\nproviding Django sessions with a foreign key to the user. Although the package\nis optional, it improves account security control over\n``django.contrib.sessions``.\n\nCompatible with supported Django and Python versions. At the moment of writing\nthat includes 4.2, 5.0, and 5.1 on Python 3.9 to 3.13.\nDocumentation is available at `readthedocs.io`_.\n\n\nInstallation\n============\nRefer to the `installation instructions`_ in the documentation.\n\n\nGetting help\n============\n\nFor general questions regarding this package, please hop over to `Stack Overflow`_.\nIf you think there is an issue with this package; check if the\nissue is already listed (either open or closed), and file an issue if\nit's not.\n\n\nContribute\n==========\nRead the `contribution guidelines`_.\n\n\nSee Also\n========\nHave a look at django-user-sessions_ for Django sessions with a foreign key to\nthe user. This package is also included in the `example app`_.\n\n\nLicense\n=======\nThe project is licensed under the MIT license.\n\n.. _`example app`:\n   https://github.com/jazzband/django-two-factor-auth/tree/master/example\n.. _django-otp: https://pypi.org/project/django-otp/\n.. _Transifex: https://explore.transifex.com/Bouke/django-two-factor-auth/\n.. _Twilio: https://www.twilio.com/\n.. _contribution guidelines:\n   https://github.com/jazzband/django-two-factor-auth/blob/master/CONTRIBUTING.rst\n.. _django-user-sessions: https://pypi.org/project/django-user-sessions/\n.. _readthedocs.io: https://django-two-factor-auth.readthedocs.io/en/stable/index.html\n.. _`installation instructions`:\n   https://django-two-factor-auth.readthedocs.io/en/stable/installation.html\n.. _`Stack Overflow`:\n   https://stackoverflow.com/questions/tagged/django-two-factor-auth\n.. _Yubikey: https://www.yubico.com/products/yubikey-hardware/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjazzband%2Fdjango-two-factor-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjazzband%2Fdjango-two-factor-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjazzband%2Fdjango-two-factor-auth/lists"}