Here’s a summary of your issue and the details needed for the support team:
Issue Summary
You are using the Web3Auth Modal SDK (@web3auth/modal version ^10.3.0) in a React (Preact) application, and have set mfaLevel: MFA_LEVELS.OPTIONAL in your web3AuthOptions config. However, users are still being prompted for MFA (Multi-Factor Authentication) when logging in with Google, which is not the expected behavior.
Code Snippets: Yes (full initialization and login code)
Screenshot: Yes
Additional Context
You are following the v10 migration and advanced configuration guides.
No custom MFA factors (mfaSettings) are set—just the mfaLevel: OPTIONAL.
You expect that users should not be forced to set up MFA unless they choose to.
What the Support Team Might Need Next
Are you using any custom authentication providers or just the default social logins?
(From your code, it appears to be just Google—please confirm if any custom verifiers are involved.)
Is this behavior consistent across all users/accounts, or only for specific ones?
Is your project/clientId configured with any default MFA policies in the Web3Auth Dashboard?
(Sometimes dashboard settings can override code-level configs.)
Proposed Solution / Troubleshooting Steps
Check Dashboard Settings:
In Web3Auth v10, some authentication and MFA settings are now managed via the Web3Auth Dashboard. Please ensure that the MFA policy for your project/clientId is not set to “Mandatory” in the dashboard, as this can override the SDK config.
Explicitly Set mfaSettings:
If you want more granular control, you can specify mfaSettings to disable/enable individual factors. See the MFA Advanced Configuration Docs.
Thank you for providing detailed code and a screenshot! Once you confirm the dashboard settings or answer the above, the support team can help further diagnose or escalate if this is a bug.
Note: This response was generated by an AI bot and may require further verification. The Web3Auth support team has tracked this issue and will be responding as soon as possible.
Additionally, we would recommend you to join our biweekly Office Hours to get this resolved even faster. Web3Auth Developer Office Hours
This would happen if you have already MFA set up. Even if you change the parameter none now, it cannot will back the MFA setup. This would be applicable for all new users who have yet to undergo MFA onboarding.
This is not the correct understanding that tweaking this parameter will disable MFA, which will make the MFA as a feature non functional.
The option you’ve set is the right one. But you cannot disable MFA for users who have already set up MFA factors. They will be asked for it time and again as required.
For all the users that would be logging in for the first time, after you’ve set the MFA as none, will never be asked for MFA again.
For default connections, the MFA is shared across Dapps, it is extended to all the dapps using a default connection.
Please make a custom connection with the same or different project id, and that would help you have control over MFA from scratch
See, @bsrinath4839
There are two kind of connections on Web3Auth dashboard. Ones managed by Web3Auth are called default connections. Ones created by you via different providers like Auth0 and Firebase then integrated with their credential to Web3Auth dashboard are called custom connections.