Hello!
My login flow was working fine but since a few hours I am getting the following errors when trying to login with a new session. We are about to go live with our alpha version and would appreciate swift assistant in this matter.
Errors:
Cross-Origin Request Blocked
&
Error: Could not get result from torus nodes Unable to resolve enough promises.
- SDK Version: “@web3auth/base”: “^7.3.2”
- Platform: Next.js
The following is happening on auth.web3auth.io/v6/callback
during the redirect:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://node-1.dev-node.web3auth.io/sss/jrpc. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 502
(this was not happening before)
Login code snippet:
useEffect(() => {
const initWeb3Auth = 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 web3auth = new Web3AuthNoModal({
clientId,
chainConfig,
web3AuthNetwork: 'sapphire_devnet',
});
const privateKeyProvider = new EthereumPrivateKeyProvider({
config: { chainConfig },
});
const openloginAdapter = new OpenloginAdapter({
adapterSettings: {
clientId,
network: 'testnet',
uxMode: 'redirect',
},
privateKeyProvider,
});
web3auth.configureAdapter(openloginAdapter);
await web3auth.init();
setWeb3auth(web3auth);
setProvider(web3auth.provider);
const userInfo = await web3auth.getUserInfo();
if (!userInfo) {
console.error('Failed to get user info');
return;
}
const app_scoped_privkey = await web3auth.provider?.request({
method: 'eth_private_key',
});
if (!app_scoped_privkey) {
console.error('Failed to get app scoped private key');
return;
}
const appPubKey = getPublicCompressed(
Buffer.from(String(app_scoped_privkey).padStart(64, '0'), 'hex')
).toString('hex');
setAppPubKey(appPubKey);
setUserIDToken(userInfo.idToken);
if (appPubKey && userInfo.idToken) {
setVerifyingSession(true);
verifyUserAndLogin(appPubKey, userInfo.idToken);
}
} catch (error) {
console.error(error);
}
};
initWeb3Auth();
checkSession();
}, []);
const login = useCallback(async () => {
try {
const web3authProvider = await web3auth.connectTo(
WALLET_ADAPTERS.OPENLOGIN,
{ loginProvider: 'discord' }
);
setProvider(web3authProvider);
} catch (error) {
console.error('Login error:', error);
}
}, [web3auth]);