# Enable MFA for a user

> Web3Auth Flutter SDK - enableMFA Function | Embedded Wallets

The `enableMFA` method is used to trigger MFA setup flow for users. The method takes `LoginParams` which will used during custom verifiers. If you are using default login providers, you don't need to pass `LoginParams`. If you are using custom JWT verifiers, you need to pass the JWT token in `loginParams` as well.

## Usage

<Tabs
  defaultValue="default-verifier"
  values={[
    { label: "Default Verifier", value: "default-verifier" },
    { label: "Custom JWT Verifier", value: "custom-jwt-verifier" },
  ]}
>

<TabItem value="default-verifier">

```dart title="Usage"
try {
  // focus-next-line
  await Web3AuthFlutter.enableMFA();
} on UserCancelledException {
  log("User cancelled.");
} catch(e) {
  log("Unknown exception occurred");
}
```

</TabItem>

<TabItem value="custom-jwt-verifier">

```dart title="Usage"
try {
    final loginParams = LoginParams(
        loginProvider: Provider.jwt,
        extraLoginOptions: ExtraLoginOptions(
            id_token: "YOUR_JWT_TOKEN",
        ),
    );

    // focus-next-line
    await Web3AuthFlutter.enableMFA(loginParams);
} on UserCancelledException {
  log("User cancelled.");
} catch(e) {
  log("Unknown exception occurred");
}
```

</TabItem>
</Tabs>
