Configuration
=============

Available settings:

``MFA_ADAPTER`` (default: ``"allauth.mfa.adapter.DefaultMFAAdapter"``)
  Specifies the adapter class to use, allowing you to alter certain
  default behavior.

``MFA_FORMS``
  Used to override forms. Defaults to::

    MFA_FORMS = {
        'authenticate': 'allauth.mfa.base.forms.AuthenticateForm',
        'reauthenticate': 'allauth.mfa.base.forms.AuthenticateForm',
        'activate_totp': 'allauth.mfa.totp.forms.ActivateTOTPForm',
        'deactivate_totp': 'allauth.mfa.totp.forms.DeactivateTOTPForm',
        'generate_recovery_codes': 'allauth.mfa.recovery_codes.forms.GenerateRecoveryCodesForm',
    }

``MFA_PASSKEY_LOGIN_ENABLED`` (default: ``False``)
  Whether or not end users can login using a (WebAuthn) passkey. Note that for
  this to be enabled, you also need to add ``"webauthn"`` to
  ``MFA_SUPPORTED_TYPES``.

``MFA_PASSKEY_SIGNUP_ENABLED`` (default: ``False``)
  Whether or not end users can signup using a (WebAuthn) passkey. Note that for
  this to be enabled, you need to add ``"webauthn"`` to ``MFA_SUPPORTED_TYPES``,
  require mandatory email verification and have
  ``ACCOUNT_EMAIL_VERIFICATION_BY_CODE_ENABLED`` set to ``True``.

``MFA_RECOVERY_CODE_COUNT`` (default: ``10``)
  The number of recovery codes.

``MFA_SUPPORTED_TYPES`` (default: ``[["recovery_codes", "totp"]``)
  The authenticator types that end users are able to setup. Allowed
  types are: ``"recovery_codes"``, ``"totp"``, and ``"webauthn"``. The
  latter is disabled by default.

``MFA_TOTP_PERIOD`` (default: ``30``)
  The period that a TOTP code will be valid for, in seconds.

``MFA_TOTP_DIGITS`` (default: ``6``)
  The number of digits for TOTP codes.

``MFA_TOTP_ISSUER`` (default: ``""``)
  The issuer (appearing in the TOTP QR code).

``MFA_WEBAUTHN_ALLOW_INSECURE_ORIGIN`` (default: ``False``)
  The WebAuthn uses the ``fido2`` package, and versions up to including version
  1.1.3 do not regard localhost as a secure origin, which is problematic during
  local development and testing. To work around that, you can use this setting.
  Only use this for development, never on production. See commit ``8b979313``
  over at ``fido2``.
