# Identity Toolkit API . accounts . mfaEnrollment

## Instance Methods

Close httplib2 connections.

Finishes enrolling a second factor for the user.

Step one of the MFA enrollment process. In SMS case, this sends an SMS verification code to the user.

Revokes one second factor from the enrolled second factors for an account.

### Method Details

`close()`

    Close httplib2 connections.

`finalize(body=None, x__xgafv=None)`

    Finishes enrolling a second factor for the user.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # Finishes enrolling a second factor for the user.
      "displayName": "A String", # Display name which is entered by users to distinguish between different second factors with same type or different type.
      "idToken": "A String", # Required. ID token.
      "phoneVerificationInfo": { # Phone Verification info for a FinalizeMfa request. # Verification info to authorize sending an SMS for phone verification.
        "androidVerificationProof": "A String", # Android only. Uses for "instant" phone number verification though GmsCore.
        "code": "A String", # User-entered verification code.
        "phoneNumber": "A String", # Required if Android verification proof is presented.
        "sessionInfo": "A String", # An opaque string that represents the enrollment session.
      },
      "tenantId": "A String", # The ID of the Identity Platform tenant that the user enrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # FinalizeMfaEnrollment response.
      "idToken": "A String", # ID token updated to reflect MFA enrollment.
      "phoneAuthInfo": { # Phone Verification info for a FinalizeMfa response. # Auxiliary auth info specific to phone auth.
        "androidVerificationProof": "A String", # Android only. Long-lived replacement for valid code tied to android device.
        "androidVerificationProofExpireTime": "A String", # Android only. Expiration time of verification proof in seconds.
        "phoneNumber": "A String", # For Android verification proof.
      },
      "refreshToken": "A String", # Refresh token updated to reflect MFA enrollment.
    }

`start(body=None, x__xgafv=None)`

    Step one of the MFA enrollment process. In SMS case, this sends an SMS verification code to the user.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # Sends MFA enrollment verification SMS for a user.
      "idToken": "A String", # Required. User's ID token.
      "phoneEnrollmentInfo": { # App Verification info for a StartMfa request. # Verification info to authorize sending an SMS for phone verification.
        "autoRetrievalInfo": { # The information required to auto-retrieve an SMS. # Android only. Used by Google Play Services to identify the app for auto-retrieval.
          "appSignatureHash": "A String", # The Android app's signature hash for Google Play Service's SMS Retriever API.
        },
        "iosReceipt": "A String", # iOS only. Receipt of successful app token validation with APNS.
        "iosSecret": "A String", # iOS only. Secret delivered to iOS app via APNS.
        "phoneNumber": "A String", # Required for enrollment. Phone number to be enrolled as MFA.
        "recaptchaToken": "A String", # Web only. Recaptcha solution.
        "safetyNetToken": "A String", # Android only. Used to assert application identity in place of a recaptcha token. A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce.
      },
      "tenantId": "A String", # The ID of the Identity Platform tenant that the user enrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # StartMfaEnrollment response.
      "phoneSessionInfo": { # Phone Verification info for a StartMfa response. # Verification info to authorize sending an SMS for phone verification.
        "sessionInfo": "A String", # An opaque string that represents the enrollment session.
      },
    }

`withdraw(body=None, x__xgafv=None)`

    Revokes one second factor from the enrolled second factors for an account.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # Withdraws MFA.
      "idToken": "A String", # Required. User's ID token.
      "mfaEnrollmentId": "A String", # Required. MFA enrollment id from a current MFA enrollment.
      "tenantId": "A String", # The ID of the Identity Platform tenant that the user unenrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Withdraws MultiFactorAuth response.
      "idToken": "A String", # ID token updated to reflect removal of the second factor.
      "refreshToken": "A String", # Refresh token updated to reflect removal of the second factor.
    }