I need to get a http provider link or url so i can send to a payload, but the we3authprovider I created don’t bring that information.
That was my code.
import { useEffect, useState } from ‘react’;
import { WALLET_ADAPTERS, CHAIN_NAMESPACES} from “@web3auth/base”;
import { Web3AuthNoModal } from “@web3auth/no-modal”;
import { OpenloginAdapter } from “@web3auth/openlogin-adapter”;
import { EthereumPrivateKeyProvider } from “@web3auth/ethereum-provider”;
import { initializeApp } from “firebase/app”;
import RPC from “…/components/RFC/web3RPC”
import { GoogleAuthProvider, getAuth, signInWithPopup} from “firebase/auth”;
const paal_logo = ‘/Paal_New_Logo.jpg’;
const clientId = “BBtP5tjFc-gHhPHxvugc4p7ENBi1ZthPUwV5ETHDBCVnl6_V-JyIVLfBgc_R3-L10tXyyVDE6Dz4-QjnBv6oX54”
var payload;
var payloadProvider;
const firebaseConfig = {
apiKey: “AIzaSyD1Fh6ztMi7CrKa7A-p8A85-oZc0NcZpO0”,
authDomain: “crispai.firebaseapp.com”,
projectId: “crispai”,
storageBucket: “crispai.appspot.com”,
messagingSenderId: “1003522928061”,
appId: “1:1003522928061:web:1c1c2850d1f0ad6557f6d4”,
measurementId: “G-ZF0FE5FB45”
};
const Web3AuthComponent = () => {
const [web3auth, setWeb3auth] = useState(null);
const [loggedIn,setLoggedIn] = useState(false);
const [provider, setProvider] = useState(null);
const [storedLoginRes, setStoredLoginRes] = useState(null);
useEffect(() => {
const init = async () => {
try {
const ChainConfig = {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://rpc.ankr.com/eth",
displayName: "Ethereum Mainnet",
blockExplorer: "https://etherscan.io",
ticker: "ETH",
tickerName: "Ethereum",
};
const web3authInstance = new Web3AuthNoModal({
clientId,
web3AuthNetwork: "sapphire_devnet",
chainConfig: ChainConfig,
});
//const analytics = getAnalytics(app);
const privateKeyProvider = new EthereumPrivateKeyProvider({ config: { chainConfig: ChainConfig } });
const openloginAdapter = new OpenloginAdapter({
adapterSettings: {
uxMode: "popup",
whiteLabel: {
appName: "Paal",
appUrl: "https://web3auth.io",
logoLight: paal_logo,
logoDark: paal_logo,
defaultLanguage: "en",
mode: "light",
theme: {
primary: "#00D1B2",
},
useLogoLoader: true,
},
loginConfig: {
jwt: {
verifier: "paal_project", // name of the verifier created on Web3Auth Dashboard
typeOfLogin: "jwt",
clientId,
},
},
},
privateKeyProvider,
});
web3authInstance.configureAdapter(openloginAdapter);
setWeb3auth(web3authInstance);
console.log(web3authInstance);
await web3authInstance.init();
setProvider(web3authInstance.provider);
if (web3authInstance.connected) {
setLoggedIn(true);
}
}catch (e){
console.error(e);
}
};
init();
login();
logout();
}, []);
const getLoginRes = async (loginRes) =>{
payload = {
uid: loginRes.user.uid
}
console.log(payload);
return payload
}
const getProvider = async (provider) =>{
payloadProvider = {
provider:provider
}
return provider;
}
const signInWithGoogle = async () => {
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
const googleProvider = new GoogleAuthProvider();
const res = await signInWithPopup(auth, googleProvider);
return res;
};
const logout = async () => {
if (!web3auth) {
return;
}
await web3auth.logout();
setLoggedIn(false);
setProvider(null);
}
const login = async () => {
try {
if (!web3auth) {
return;
}
const loginRes = await signInWithGoogle();
getLoginRes(loginRes);
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",
},
}
);
getProvider(web3authProvider);
setProvider(web3authProvider);
} catch (error) {
console.error("Error logging in", error);
}
};
const getInfo = async () => {
if (!web3auth) {
return;
}
const user = await web3auth.getUserInfo();
console.log(“user”, user);
};
const getAccounts = async () => {
if (!web3auth?.provider) {
return;
}
const rpc = new RPC(provider);
const info = await rpc.getPrivateKey();
console.log('private_key',info);
const address = await rpc.getAccounts();
console.log("address",address);
};
console.log(“provider”,provider);
console.log(“payload”,payload);
console.log(“payProvider”,payloadProvider);
return (
{/* Your JSX content here */}
);
};
export default Web3AuthComponent;
if someone can help me