Forms
=====

(Re)authenticate
****************

*Path*
  ``allauth.mfa.base.forms.AuthenticateForm``
  ``allauth.mfa.base.forms.ReauthenticateForm``
  ``allauth.mfa.webauthn.forms.AuthenticateWebAuthnForm``

*Used on*:
  AuthenticateView and ReauthenticateView, used when a user authenticates with MFA.

Example override::

    from allauth.mfa.base.forms import AuthenticateForm, ReauthenticateForm
    from allauth.mfa.webauthn.forms import AuthenticateWebAuthnForm


    class MyCustomAuthenticateForm(AuthenticateForm):
        pass


    class MyCustomReauthenticateForm(ReauthenticateForm):
        pass


    class MyCustomAuthenticateWebAuthnForm(AuthenticateWebAuthnForm):
        pass

``settings.py``::

    MFA_FORMS = {
        'authenticate': 'mysite.forms.MyCustomAuthenticateForm',
        'reauthenticate': 'mysite.forms.MyCustomReauthenticateForm',
        'authenticate_webauthn': 'mysite.forms.MyCustomAuthenticateWebAuthnForm',
    }

Activate TOTP
*************

*Path*
  ``allauth.mfa.totp.forms.ActivateTOTPForm``

*Used on*:
  ActivateTOTPView, used when a user activates TOTP.

Example override::

    from allauth.mfa.totp.forms import ActivateTOTPForm
    class MyCustomActivateTOTPForm(ActivateTOTPForm):
      pass

``settings.py``::

    MFA_FORMS = {
        'activate_totp': 'mysite.forms.MyCustomActivateTOTPForm',
    }

Deactivate TOTP
***************

*Path*
  ``allauth.mfa.totp.forms.DeactivateTOTPForm``

*Used on*:
  DeactivateTOTPView, used when a user deactivates TOTP.

Example override::

    from allauth.mfa.totp.forms import DeactivateTOTPForm
    class MyCustomDeactivateTOTPForm(DeactivateTOTPForm):
      pass

``settings.py``::

    MFA_FORMS = {
        'deactivate_totp': 'mysite.forms.MyCustomDeactivateTOTPForm',
    }

Generate Recovery Codes
***********************

*Path*
  ``allauth.mfa.recovery_codes.forms.GenerateRecoveryCodesForm``

*Used on*:
  GenerateRecoveryCodesView, used when a user generates recovery codes.

Example override::

    from allauth.mfa.recovery_codes.forms import GenerateRecoveryCodesForm
    class MyCustomGenerateRecoveryCodesForm(GenerateRecoveryCodesForm):
      pass

``settings.py``::

    MFA_FORMS = {
        'generate_recovery_codes': 'mysite.forms.MyCustomGenerateRecoveryCodesForm',
    }
