Error-verifiying-passkey while trying to setup MFA on Windows

When asking for help in this category, please make sure to provide the following details:

  • SDK Version(package.json): 9.0.2
  • Platform: Windows
  • Browser Console Screenshots:
  • If the issue is related to Custom Authentication, please include the following information (optional):
    • Verifier Name:
    • JWKS Endpoint:
    • Sample idToken (JWT):

Also, kindly provide the Web3Auth initialization and login code snippet below. This will help us better understand your issue and provide you with the necessary assistance.


    const web3auth = new Web3AuthNoModal({
      clientId,
      privateKeyProvider,
      web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET,
    });

    web3auth.configureAdapter(authAdapter); // authAdapter initialized above

    return web3auth;
  }, []);

Then trying to connect with Google with optional MFA

  const loginWithGoogle = useCallback(async (): Promise<void> => {
    try {
      if (!web3auth) {
        throw new Error('Web3auth not initialized');
      }
      const connected = await web3auth.connectTo(WALLET_ADAPTERS.AUTH, {
        loginProvider: LOGIN_PROVIDER.GOOGLE,
        mfaLevel: 'optional',
        curve: 'secp256k1',
      });

      if (connected === null) {
        throw new Error('Error connecting to Google');
      }
    } catch (e: unknown) {
      if (e instanceof Error) {
        throw new Error(e.message);
      } else {
        throw new Error('An unknown error occurred during login with Google');
      }
    }
  }, [web3auth]);

Hey @amin1

Can you try updating the version to the latest?

Hey @shahbaz , thanks for the recommendation but upgrading to latest v9.7.0 also hasn’t helped. Any other idea?

Hey @amin1
i would suggest you a bunch of other things:

  1. Try switching the browser, this seems like Chrome, can you try it on Brave, etc.?
  2. Please pass enableLogging: true in the Web3Auth constructor and please record the whole flow using a tool like Jam.dev, it records the screen and also records the console logs and network calls. This would be necessary for me to understand what’s going wrong in the passkey registration process.

Please let me know if you face any issue in following the above steps.

Hi @maharshi ,

Tried it on Brave, the same issue persisted. Here’s the jam.dev recording that you asked for, hope it helps: Jam

@maharshi Any updates on this?

Hey @amin1,
Does this work fine on a Mac by any chance?
I believe this issue might be related to the absence of biometric (fingerprint) authentication support on your Windows device. Can you confirm if that’s the case?
In the meantime, I’ve reached out to the engineering team to get clarity on the exact condition under which we throw this error. I’ll follow up once I hear back.

Hi @maharshi,

Yes it works on a Mac and you are right, the Windows machine we are testing on does not have fingerprint sensor, so Windows displays the following while trying to verify the passkey, there’s option for Hello PIN

image

Hey @maharshi , i got my team to test more with a Windows with biometrics, but still failed to verify

He mentioned that he could verify using With QR code to link a mobile phone, it seems working fine

But then again on a Linux without a fingerprint sensor, failed to verify.

Let me know if you need more info