Problem in Google login using the MPC core kit

We are having a problem while logging in to some emails. After the first login, the second login does not work. The problem occurs in some big emails below are two emails in which the problem occurs in the login.

guimaraes.lourenco@gmail.com
Matthewjnhenebery@gmail.com

How to solve it?.

@limbachiyachintan500 Thanks for your recent communication.

Could you share your implementation code for our team to check?

@vjgee Here is my code :

import React, { useEffect, useState } from "react";
import Button from "./Button";
import ModalWrapper from "../modal/Modal.style";
import { CgClose } from "react-icons/cg";
import { FcGoogle } from "react-icons/fc";
import {
  Web3AuthMPCCoreKit,
  WEB3AUTH_NETWORK,
  COREKIT_STATUS,
  SubVerifierDetailsParams,
} from "@web3auth/mpc-core-kit";
import { useWeb3AuthSigner } from "../contex/web3-auth-signer";
import { SafeEventEmitterProvider } from "@web3auth/base";
import Web3 from "web3";



const selectedNetwork = WEB3AUTH_NETWORK.MAINNET;
const clientidweb3 = process.env.REACT_APP_WEB3AUTH_CLIENTID;

const coreKitInstance = new Web3AuthMPCCoreKit({
  web3AuthClientId: clientidweb3 as string,
  web3AuthNetwork: selectedNetwork,
  uxMode: "redirect",
  chainConfig: {
    chainNamespace: "eip155",
    chainId: "0xA4B1", // hex of 42161
    //rpcTarget: "https://rpc.ankr.com/arbitrum",
    rpcTarget:
      "https://arbitrum-mainnet.infura.io/v3/d54b5cf96b554b939c26255f6220a872",
    // Avoid using public rpcTarget in production.
    // Use services like Infura, Quicknode etc
    displayName: "Arbitrum Mainnet",
    blockExplorer: "https://arbiscan.io",
    ticker: "AETH",
    tickerName: "AETH",
  },
});

const ConnectWalletButton: React.FC = () => {
  const [isLoading, setIsLoading] = useState<boolean>(false);
  const [isLoading1, setIsLoading1] = useState<boolean>(true);
  const [rewardtoken, setRewardtoken] = useState<boolean>(false);

  const code1 = localStorage.getItem("code");
  const {
    setWeb3AuthSigner,
    web3AuthSigner,
    accountAddress,
    setAccountAddress,
    setSessionKeyProvider,
    setUserinfo,
    userinfo,
    setEcdsaProvider,
    code,
    setCode,
    setIsConnected,
    openModule,
    setOpenModule,
    setAccesscodeopen,
    accesscodeopen,
    accesscode,
    setSessionethProvider,
  } = useWeb3AuthSigner();
  const [providercorkit, setProvidercorkit] =
    useState<SafeEventEmitterProvider | null>(null);
  const [openprofile, setOpenprofile] = useState<boolean>(false);

  const [web3, setWeb3] = useState<any>(undefined);
  //const [sucessfullogin, setsucessfullogin] = useState<boolean>(false);
  const [copy, setcopy] = useState<boolean>(false);
  //const [resetaccount, setResetaccount] = useState<boolean>(false);


  useEffect(() => {
    if (coreKitInstance) {
      const init = async () => {
        await coreKitInstance.init();

        if (coreKitInstance.provider) {
          setWeb3AuthSigner(coreKitInstance.provider);
        }

        setCoreKitStatus(coreKitInstance.status);
      console.log("coreKitInstance.status-->", coreKitInstance.status);
      };
      init();
    }
  }, [setWeb3AuthSigner]);

  useEffect(() => {
    if (web3AuthSigner) {
      const userdata: UserData =
        coreKitInstance?.getUserInfo() as unknown as UserData;
      setUserinfo(userdata);
      //console.log("userdata-->", userdata);
    }
  }, [setUserinfo, web3AuthSigner]);

  useEffect(() => {
    if (web3AuthSigner) {
      const web3 = new Web3(web3AuthSigner as any);
      setWeb3(web3);
    }
  }, [web3AuthSigner]);

  const login = async () => {
    try {
      setIsLoading(true);
      if (!coreKitInstance) {
        throw new Error("initiated to login");
      }
      // console.log("1");
      const verifierConfig = {
        subVerifierDetails: {
          typeOfLogin: "google",
          verifier: "blok-capital",
          clientId: process.env.REACT_APP_GOOGLE_ID,
        },
      } as SubVerifierDetailsParams;

      await coreKitInstance.loginWithOauth(verifierConfig);

      if (coreKitInstance.status === COREKIT_STATUS.REQUIRED_SHARE) {
        console.log(
          "required more shares, please enter your backup/ device factor key, or reset account unrecoverable once reset, please use it with caution]"
        );
        //setResetaccount(true);
      }

      if (coreKitInstance.provider) {
        setProvidercorkit(coreKitInstance.provider);
        setWeb3AuthSigner(coreKitInstance.provider);
      }
    
      setOpenprofile(true);
      //router.push(Routes.wallet.root);
    } catch (error) {
      console.log(error);
      //setResetaccount(true);
      console.error(error);
    } finally {
      setIsLoading(false);
    }
  };

  useEffect(() => {
    if (web3) {
      const getChainID = async () => {
        if (!web3) {
          console.log("web3 not initialized yet");
          return;
        }
        const chainId = await web3.eth.getChainId();
        //console.l og("chainid--->", chainId);
        return chainId;
      };
      getChainID();
    }
  }, [web3]);

  const logout = async () => {
    // console.log("---------------");

    if (!coreKitInstance) {
      throw new Error("coreKitInstance not found");
    }
    await coreKitInstance.logout();
    localStorage.clear();
    setWeb3AuthSigner(undefined);
    setOpenModule(false);

    setAccountAddress(undefined);
    setCode(undefined);
  };

  const popupopen = () => {
    if (code === undefined) {
      setAccesscodeopen(true);
    } else {
      setOpenModule(true);
    }
  };



  return (
    <>
                    <Button
                          className="connect-wallet-btn"
                          variant={"connect"}
                        >
                          {isLoading && (
                            <div className="">
                              <div
                                className="spinner-border h-5 w-5"
                                role="status"
                              >
                                <span className="sr-only"></span>
                              </div>
                            </div>
                          )}
                          <div
                            className={` flex gap-2 justify-center items-center text-center ${
                              isLoading ? "disabled" : " "
                            }`}
                          >
                            <FcGoogle size={28} />
                            Login with Google
                          </div>
                        </Button> 
    </>
  );
};

export default ConnectWalletButton;

Hi,

Your code looks fine to me.
Did you login this google account with other web3auth sdk before ?
Does it happens to other google account as well ?

No, we are using @web3auth/mpc-core-kit only.

Do you have hosted site for me to check it out?

Hii @cherngwoei,

Yes, but not for everyone. You can take it from Shahbaz of your team.

Hello @cherngwoei ,
You can tell me how I solve it well !!.