Metadata-Version: 2.4
Name: maykin-2fa
Version: 2.1.0
Summary: An opinionated integration of django-two-factor-auth in the Django admin interface.
Author-email: Maykin Media <support@maykinmedia.nl>
License-Expression: MIT
Project-URL: Homepage, https://github.com/maykinmedia/maykin-2fa
Project-URL: Documentation, http://maykin-2fa.readthedocs.io/en/latest/
Project-URL: Bug Tracker, https://github.com/maykinmedia/maykin-2fa/issues
Project-URL: Source Code, https://github.com/maykinmedia/maykin-2fa
Project-URL: Changelog, https://github.com/maykinmedia/maykin-2fa/blob/main/CHANGELOG.rst
Keywords: django,two factor,2fa,mfa,multi factor auth
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: django>=4.2
Requires-Dist: django-two-factor-auth[webauthn]>=1.18.1
Requires-Dist: django-otp>=1.7.0
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-django; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Requires-Dist: tox; extra == "tests"
Requires-Dist: ruff; extra == "tests"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: release
Requires-Dist: bump-my-version; extra == "release"
Dynamic: license-file

Maykin 2FA
==========

:Version: 2.1.0
:Source: https://github.com/maykinmedia/maykin-2fa
:Keywords: django, two factor, multi factor auth, mfa

|build-status| |code-quality| |ruff| |coverage| |docs|

|python-versions| |django-versions| |pypi-version|

An opinionated integration of django-two-factor-auth_ in the Django admin interface.

.. contents::

.. section-numbering::

Features
========

* Uses upstream django-two-factor-auth package rather than maintaining a fork
* Ships templates in the Django admin login layout for the two-factor authentication flow
* Multi-factor authentication is enforced for admin users, but...
* Allows marking certain authentication backends (like Single-Sign-On solutions) as
  exempt from this rule
* Works with django-hijack out of the box
* Does not get in the way of using django-two-factor-auth for your public UI
* Commitment to support (at least) maintained Django LTS versions

Installation, usage and contributing
====================================

Please see the documentation hosted on Read The Docs.

.. _django-two-factor-auth: https://django-two-factor-auth.readthedocs.io/en/stable/index.html

.. |build-status| image:: https://github.com/maykinmedia/maykin-2fa/workflows/Run%20CI/badge.svg
    :alt: Build status
    :target: https://github.com/maykinmedia/maykin-2fa/actions?query=workflow%3A%22Run+CI%22

.. |code-quality| image:: https://github.com/maykinmedia/maykin-2fa/workflows/Code%20quality%20checks/badge.svg
     :alt: Code quality checks
     :target: https://github.com/maykinmedia/maykin-2fa/actions?query=workflow%3A%22Code+quality+checks%22

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. |coverage| image:: https://codecov.io/gh/maykinmedia/maykin-2fa/branch/main/graph/badge.svg
    :target: https://app.codecov.io/gh/maykinmedia/maykin-2fa
    :alt: Coverage status

.. |docs| image:: https://readthedocs.org/projects/maykin-2fa/badge/?version=latest
    :target: https://maykin-2fa.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. |python-versions| image:: https://img.shields.io/pypi/pyversions/maykin-2fa.svg

.. |django-versions| image:: https://img.shields.io/pypi/djversions/maykin-2fa.svg

.. |pypi-version| image:: https://img.shields.io/pypi/v/maykin-2fa.svg
    :target: https://pypi.org/project/maykin-2fa/
