Hello everyone,
I’m currently integrating Web3Auth with Firebase’s custom authentication and have run into an issue I hope to get some insights on. Here’s a summary:
Configuration on firebase:
const firebaseConfig = {
apiKey: "AIzaSyDVOxxSSNqq0Oy8eSVRn3GURIbEO08btzM",
authDomain: "macos-firebase-extension.firebaseapp.com",
projectId: "macos-firebase-extension",
storageBucket: "macos-firebase-extension.appspot.com",
messagingSenderId: "291718050519",
appId: "1:291718050519:web:17c40b38b999fde9d6f692",
measurementId: "G-55B9WK5YB2"
};
Configuration on web3Auth:
- clientID: BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw
- Custom Authentication
- verifier name: firebase-gu-extension
- iss and aud: “https://securetoken.google.com/macos-firebase-extension”: macos-firebase-extension
Code snipbet
useEffect(() => {
const init = async () => {
try {
const chainConfig = {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: '0x5', // Please use 0x1 for Mainnet
rpcTarget: 'https://rpc.ankr.com/eth_goerli',
displayName: 'Goerli Testnet',
blockExplorer: 'https://goerli.etherscan.io/',
ticker: 'ETH',
tickerName: 'Ethereum',
};
const web3auth = new Web3AuthNoModal({
clientId,
chainConfig,
web3AuthNetwork: 'sapphire_devnet',
useCoreKitKey: false,
});
const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig } });
const openloginAdapter = new OpenloginAdapter({
privateKeyProvider,
adapterSettings: {
uxMode: 'redirect',
loginConfig: {
jwt: {
verifier: 'firebase-gu-extension',
typeOfLogin: 'jwt',
clientId,
},
},
},
});
web3auth.configureAdapter(openloginAdapter);
setWeb3auth(web3auth);
await web3auth.init();
setProvider(web3auth.provider);
if (web3auth.connected) {
setLoggedIn(true);
}
} catch (error) {
console.error(error);
}
};
init();
}, []);
const signInWithGoogle = async (): Promise<UserCredential> => {
try {
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
const googleProvider = new GoogleAuthProvider();
const res = await signInWithPopup(auth, googleProvider);
console.log(res);
return res;
} catch (err) {
console.error(err);
throw err;
}
};
const login = async () => {
if (!web3auth) {
uiConsole("web3auth not initialized yet");
return;
}
const loginRes = await signInWithGoogle();
console.log("login details", loginRes);
const idToken = await loginRes.user.getIdToken(true);
console.log("idToken", idToken);
const web3authProvider = await web3auth.connectTo(
WALLET_ADAPTERS.OPENLOGIN,
{
loginProvider: "jwt",
extraLoginOptions: {
id_token: idToken,
verifierIdField: "sub",
domain: "http://localhost:3000", },
}
);
setProvider(web3authProvider);
};
Code error detail
[{"errorMsg":"Could not get result from torus nodes \n Error occurred while verifying params could not get jwt validation field https://securetoken.google.com/macos-firebase-extension from token &{[macos-firebase-extension] 0xc007825c80 0xc007825c68 0xc0056ff000 <nil> <nil> 0xc0056ff100 map[auth_time:1.696056866e+09 email:toanbt@gu-tech.com email_verified:true firebase:map[identities:map[email:[toanbt@gu-tech.com] google.com:[111628156073630526537]] sign_in_provider:google.com] name:Toan Bui Thanh picture:https://lh3.googleusercontent.com/a/ACg8ocJDC7MCLLv2wvcN5sxGDTDe1sh9iPE32RPlH3-9CB2s=s96-c user_id:obekSZhHCpdk20uCGp5R4y1BV9h2]}","errorStack":"Error: Could not get result from torus nodes \n Error occurred while verifying params could not get jwt validation field https://securetoken.google.com/macos-firebase-extension from token &{[macos-firebase-extension] 0xc007825c80 0xc007825c68 0xc0056ff000 <nil> <nil> 0xc0056ff100 map[auth_time:1.696056866e+09 email:toanbt@gu-tech.com email_verified:true firebase:map[identities:map[email:[toanbt@gu-tech.com] google.com:[111628156073630526537]] sign_in_provider:google.com] name:Toan Bui Thanh picture:https://lh3.googleusercontent.com/a/ACg8ocJDC7MCLLv2wvcN5sxGDTDe1sh9iPE32RPlH3-9CB2s=s96-c user_id:obekSZhHCpdk20uCGp5R4y1BV9h2]}\n at rr (https://auth.web3auth.io/v5/assets/index-9b771176.js:1:1494)\n at https://auth.web3auth.io/v5/assets/index-9b771176.js:1:9745","title":"Mount Error","createdAt":"9/30/2023, 1:54:28 PM","info":{"customAuthState":{"client":"BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw","currentLoginProvider":"jwt","popupWindow":"false","whiteLabel":"{}","keyMode":"v1","isCustomVerifier":"true","socialFactorFlow":"","loginId":"bb98e25b5ceccc4456f57c1963dcad5018b495d6bbb498c3baf89deccd6e9671","sessionNamespace":"","version":"","instanceId":"mz6zodiy3r8","verifier":"firebase-gu-extension","typeOfLogin":"jwt","redirectToOpener":false},"customAuthArgs":{"typeOfLogin":"jwt","verifier":"firebase-gu-extension","clientId":"BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw","jwtParams":{"id_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6ImFkNWM1ZTlmNTdjOWI2NDYzYzg1ODQ1YTA4OTlhOWQ0MTI5MmM4YzMiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiVG9hbiBCdWkgVGhhbmgiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSkRDN01DTEx2Mnd2Y041c3hHRFREZTFzaDlpUEUzMlJQbEgzLTlDQjJzPXM5Ni1jIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL21hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1ZCI6Im1hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1dGhfdGltZSI6MTY5NjA1Njg2NiwidXNlcl9pZCI6Im9iZWtTWmhIQ3BkazIwdUNHcDVSNHkxQlY5aDIiLCJzdWIiOiJvYmVrU1poSENwZGsyMHVDR3A1UjR5MUJWOWgyIiwiaWF0IjoxNjk2MDU2ODY3LCJleHAiOjE2OTYwNjA0NjcsImVtYWlsIjoidG9hbmJ0QGd1LXRlY2guY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZ29vZ2xlLmNvbSI6WyIxMTE2MjgxNTYwNzM2MzA1MjY1MzciXSwiZW1haWwiOlsidG9hbmJ0QGd1LXRlY2guY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiZ29vZ2xlLmNvbSJ9fQ.eq-mEnwjqYx82Dbcgxi1NaRrSpyP5qxLNjIbCjwO822RGDGDvvaWK57sSB90ZYg0Ao7uwfzsaWGCAv1dBkJfqaELFKY7EdOBiK6OODOYPolAh_h1lvP9n8WHnv28kT4MZ7RS3sqS0HX94I15PFjMGWw7aplPlUQisvs5wHrv-LWyxoAEkzLcka4_QP0uokx8cHXTyfQhMSKOXZb9hrINtT1EyfxLcjd68ZiTjgFuR4UpTbvWfHHJJReliS-7LmgmEV4RS6bt1NbwUScKXYDe--BdUQ3h-77SV4E2BdwzwzEme5v6YODq1nqafxOSF6SiPJstousDfXuUXTtboPhhOg","verifierIdField":"sub","domain":"http://localhost:3000","redirect_domain":"http://localhost:3000"},"customState":{"client":"BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw","currentLoginProvider":"jwt","popupWindow":"false","whiteLabel":"{}","keyMode":"v1","isCustomVerifier":"true","socialFactorFlow":"","loginId":"bb98e25b5ceccc4456f57c1963dcad5018b495d6bbb498c3baf89deccd6e9671","sessionNamespace":"","version":""},"hash":"state=eyJjbGllbnQiOiJCQVdSX3FSYTdsMF9jVXlLTS1pQUhrZ01DVDc3TU1qRExUYjZobVV4UEc1U2Ywb05DMi1ZenUxQ05KWFVfMDZGMFVsdnljTkNfcFlldXZzaXl1V2ZiYnciLCJjdXJyZW50TG9naW5Qcm92aWRlciI6Imp3dCIsInBvcHVwV2luZG93IjoiZmFsc2UiLCJ3aGl0ZUxhYmVsIjoie30iLCJrZXlNb2RlIjoidjEiLCJpc0N1c3RvbVZlcmlmaWVyIjoidHJ1ZSIsInNvY2lhbEZhY3RvckZsb3ciOiIiLCJsb2dpbklkIjoiYmI5OGUyNWI1Y2VjY2M0NDU2ZjU3YzE5NjNkY2FkNTAxOGI0OTVkNmJiYjQ5OGMzYmFmODlkZWNjZDZlOTY3MSIsInNlc3Npb25OYW1lc3BhY2UiOiIiLCJ2ZXJzaW9uIjoiIiwiaW5zdGFuY2VJZCI6Im16NnpvZGl5M3I4IiwidmVyaWZpZXIiOiJmaXJlYmFzZS1ndS1leHRlbnNpb24iLCJ0eXBlT2ZMb2dpbiI6Imp3dCIsInJlZGlyZWN0VG9PcGVuZXIiOmZhbHNlfQ&client_id=BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw&nonce=mz6zodiy3r8&id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6ImFkNWM1ZTlmNTdjOWI2NDYzYzg1ODQ1YTA4OTlhOWQ0MTI5MmM4YzMiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiVG9hbiBCdWkgVGhhbmgiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSkRDN01DTEx2Mnd2Y041c3hHRFREZTFzaDlpUEUzMlJQbEgzLTlDQjJzPXM5Ni1jIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL21hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1ZCI6Im1hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1dGhfdGltZSI6MTY5NjA1Njg2NiwidXNlcl9pZCI6Im9iZWtTWmhIQ3BkazIwdUNHcDVSNHkxQlY5aDIiLCJzdWIiOiJvYmVrU1poSENwZGsyMHVDR3A1UjR5MUJWOWgyIiwiaWF0IjoxNjk2MDU2ODY3LCJleHAiOjE2OTYwNjA0NjcsImVtYWlsIjoidG9hbmJ0QGd1LXRlY2guY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZ29vZ2xlLmNvbSI6WyIxMTE2MjgxNTYwNzM2MzA1MjY1MzciXSwiZW1haWwiOlsidG9hbmJ0QGd1LXRlY2guY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiZ29vZ2xlLmNvbSJ9fQ.eq-mEnwjqYx82Dbcgxi1NaRrSpyP5qxLNjIbCjwO822RGDGDvvaWK57sSB90ZYg0Ao7uwfzsaWGCAv1dBkJfqaELFKY7EdOBiK6OODOYPolAh_h1lvP9n8WHnv28kT4MZ7RS3sqS0HX94I15PFjMGWw7aplPlUQisvs5wHrv-LWyxoAEkzLcka4_QP0uokx8cHXTyfQhMSKOXZb9hrINtT1EyfxLcjd68ZiTjgFuR4UpTbvWfHHJJReliS-7LmgmEV4RS6bt1NbwUScKXYDe--BdUQ3h-77SV4E2BdwzwzEme5v6YODq1nqafxOSF6SiPJstousDfXuUXTtboPhhOg&verifierIdField=sub&redirect_domain=http://localhost:3000","queryParameters":{}},"customAuthError":"Could not get result from torus nodes \n Error occurred while verifying params could not get jwt validation field https://securetoken.google.com/macos-firebase-extension from token &{[macos-firebase-extension] 0xc007825c80 0xc007825c68 0xc0056ff000 <nil> <nil> 0xc0056ff100 map[auth_time:1.696056866e+09 email:toanbt@gu-tech.com email_verified:true firebase:map[identities:map[email:[toanbt@gu-tech.com] google.com:[111628156073630526537]] sign_in_provider:google.com] name:Toan Bui Thanh picture:https://lh3.googleusercontent.com/a/ACg8ocJDC7MCLLv2wvcN5sxGDTDe1sh9iPE32RPlH3-9CB2s=s96-c user_id:obekSZhHCpdk20uCGp5R4y1BV9h2]}","customAuthHashParams":{"state":"eyJjbGllbnQiOiJCQVdSX3FSYTdsMF9jVXlLTS1pQUhrZ01DVDc3TU1qRExUYjZobVV4UEc1U2Ywb05DMi1ZenUxQ05KWFVfMDZGMFVsdnljTkNfcFlldXZzaXl1V2ZiYnciLCJjdXJyZW50TG9naW5Qcm92aWRlciI6Imp3dCIsInBvcHVwV2luZG93IjoiZmFsc2UiLCJ3aGl0ZUxhYmVsIjoie30iLCJrZXlNb2RlIjoidjEiLCJpc0N1c3RvbVZlcmlmaWVyIjoidHJ1ZSIsInNvY2lhbEZhY3RvckZsb3ciOiIiLCJsb2dpbklkIjoiYmI5OGUyNWI1Y2VjY2M0NDU2ZjU3YzE5NjNkY2FkNTAxOGI0OTVkNmJiYjQ5OGMzYmFmODlkZWNjZDZlOTY3MSIsInNlc3Npb25OYW1lc3BhY2UiOiIiLCJ2ZXJzaW9uIjoiIiwiaW5zdGFuY2VJZCI6Im16NnpvZGl5M3I4IiwidmVyaWZpZXIiOiJmaXJlYmFzZS1ndS1leHRlbnNpb24iLCJ0eXBlT2ZMb2dpbiI6Imp3dCIsInJlZGlyZWN0VG9PcGVuZXIiOmZhbHNlfQ","client_id":"BAWR_qRa7l0_cUyKM-iAHkgMCT77MMjDLTb6hmUxPG5Sf0oNC2-Yzu1CNJXU_06F0UlvycNC_pYeuvsiyuWfbbw","nonce":"mz6zodiy3r8","id_token":"eyJhbGciOiJSUzI1NiIsImtpZCI6ImFkNWM1ZTlmNTdjOWI2NDYzYzg1ODQ1YTA4OTlhOWQ0MTI5MmM4YzMiLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoiVG9hbiBCdWkgVGhhbmgiLCJwaWN0dXJlIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSkRDN01DTEx2Mnd2Y041c3hHRFREZTFzaDlpUEUzMlJQbEgzLTlDQjJzPXM5Ni1jIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL21hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1ZCI6Im1hY29zLWZpcmViYXNlLWV4dGVuc2lvbiIsImF1dGhfdGltZSI6MTY5NjA1Njg2NiwidXNlcl9pZCI6Im9iZWtTWmhIQ3BkazIwdUNHcDVSNHkxQlY5aDIiLCJzdWIiOiJvYmVrU1poSENwZGsyMHVDR3A1UjR5MUJWOWgyIiwiaWF0IjoxNjk2MDU2ODY3LCJleHAiOjE2OTYwNjA0NjcsImVtYWlsIjoidG9hbmJ0QGd1LXRlY2guY29tIiwiZW1haWxfdmVyaWZpZWQiOnRydWUsImZpcmViYXNlIjp7ImlkZW50aXRpZXMiOnsiZ29vZ2xlLmNvbSI6WyIxMTE2MjgxNTYwNzM2MzA1MjY1MzciXSwiZW1haWwiOlsidG9hbmJ0QGd1LXRlY2guY29tIl19LCJzaWduX2luX3Byb3ZpZGVyIjoiZ29vZ2xlLmNvbSJ9fQ.eq-mEnwjqYx82Dbcgxi1NaRrSpyP5qxLNjIbCjwO822RGDGDvvaWK57sSB90ZYg0Ao7uwfzsaWGCAv1dBkJfqaELFKY7EdOBiK6OODOYPolAh_h1lvP9n8WHnv28kT4MZ7RS3sqS0HX94I15PFjMGWw7aplPlUQisvs5wHrv-LWyxoAEkzLcka4_QP0uokx8cHXTyfQhMSKOXZb9hrINtT1EyfxLcjd68ZiTjgFuR4UpTbvWfHHJJReliS-7LmgmEV4RS6bt1NbwUScKXYDe--BdUQ3h-77SV4E2BdwzwzEme5v6YODq1nqafxOSF6SiPJstousDfXuUXTtboPhhOg","verifierIdField":"sub","redirect_domain":"http://localhost:3000"}}}]
Despite these checks, I’m still facing the error. Has anyone experienced something similar or can offer guidance on what might be causing this?
Thank you for your assistance!