Can't setup MFA in account.web3auth.io

Previously, we used openlogin libraries in our wallet (PnP). Inside our wallet we had ‘Go to OpenLogin settings’ button which has been sending user to ‘https://cyan.openlogin.com/’ with ‘start#b64Params=’ parameters.

After cyan shutdown, we had to upgrade our libraries and we’ve found out that a lot of staff has been broken in our wallet.

Now, we are trying to redirect user to https://account.web3auth.io/ and after redirect, everythings looks good.

when i click Enable MFA, the modal window is opened, and when i click inside it Enable MFA i got an error.

What’s wrong? how to fix it?

Thank you for the detailed description and screenshots—those are very helpful!

Summary of your issue:

  • SDK/Integration Type: Plug n Play (PnP)
  • Old flow: Redirected users to https://cyan.openlogin.com/ to manage settings/MFA
  • Current flow: Upgraded libraries and redirecting users to https://account.web3auth.io/
  • Issue faced: When trying to enable MFA in the new dashboard, clicking “Enable MFA” results in an error modal (from your screenshots), and MFA cannot be enabled.

Information Gathered:

  • Platform: Web (PnP)
  • Redirection Flow: Redirecting to account.web3auth.io
  • Error Type: Unclear—modal appears with error when enabling MFA
  • Screenshots Provided: Yes

Next Steps for Support

To help the Web3Auth team troubleshoot this, could you please provide:

  • Web3Auth initialization and login code snippets: This helps the team ensure the right parameters and versions are used.
  • Current SDK version in your wallet: Since you mentioned a recent upgrade, this will clarify compatibility.
  • Browser Console Logs/Screenshots at the time of the error: There may be additional error information in the network/dev console.
  • Steps/users to reproduce: If any specific/reproducible steps (or if this happens to all users).

Possible Solution & References

This change likely relates to the migration from OpenLogin (cyan) to account.web3auth.io. Some PnP SDKs require updating configuration for redirects or new endpoints.


Once you provide the SDK version/code snippet and any console errors, we can assist you further or escalate to engineering. Thank you for your patience during this transition from cyan.openlogin.com to account.web3auth.io!

Let us know if you need any specific guidance on upgrading your integration.

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

In console see this error:

index-BjsGvyRR.js:1 Error: Invalid loginProvider or custom loginProvider data not available: traceId: undefined - spanId: undefined
at f (index-cqWneRRW.js:1:1876)
at w.error (index-cqWneRRW.js:1:2439)Caused by: Error: Invalid loginProvider or custom loginProvider data not available
at si (initiateUserLogin-Cg5SKe7r.js:16:801)
at async h (index-BGM19B3o.js:124:15361)
at async y (index-BGM19B3o.js:124:16475)

Authentication logic:

 const clientId = OPEN_LOGIN_CLIENT_ID;

    const chainConfig = {
      chainNamespace: CHAIN_NAMESPACES.EIP155,
      chainId: '0x1', // Ethereum Mainnet
      rpcTarget: 'https://rpc.ankr.com/eth',
    };

    const privateKeyProvider = new EthereumPrivateKeyProvider({
      config: { chainConfig },
    });
    this.web3auth = new Web3AuthNoModal({
      clientId,
      chainConfig,
      privateKeyProvider,
    });

    this.authAdapter = new AuthAdapter({
      adapterSettings: {
        network: OPEN_LOGIN_NETWORK,
        clientId,
        uxMode: 'redirect',
        replaceUrlOnRedirect: false,
        sessionNamespace: this.sessionStore.sessionNamespace,
        loginConfig: {
          jwt: {
            clientId,
            verifier: OPEN_LOGIN_VERIFIER,
            typeOfLogin: 'jwt',
            name: 'Cere',
            jwtParameters: {
              domain: window.origin,
              verifierIdField: 'email',
              isVerifierIdCaseSensitive: false,
            },
          },
        },
        whiteLabel: {
          mode: 'auto',
          appName: 'Cere Wallet',
          logoLight: `${window.origin}/images/logo-light.svg`,
          logoDark: `${window.origin}/images/logo.svg`,
          theme: { primary: '#733BF5' },
        },
      },
    });

    this.web3auth.configureAdapter(this.authAdapter);

and then

await this.web3auth.init();
  
    await this.web3auth.connectTo(WALLET_ADAPTERS.AUTH, {
      loginProvider: 'jwt',
      extraLoginOptions: {
        id_token: params?.idToken,
        domain: window.origin,
        verifierIdField: 'email',
      },
      redirectUrl: url.toString(),
    });