Hi I’m using Ionic v8.7.8 and @web3auth/modal v10.10.0.
I have this Web3AuthNoModal object:
this.web3auth = new Web3AuthNoModal({
clientId: this.clientId,
web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_DEVNET,
storageType: "local",
sessionTime: 86400,
authBuildEnv: "testing",
connectors: [
authConnector({
connectorSettings: {
redirectUrl: "com.zertipower.app://zertipower",
uxMode: "redirect",
}
})
],
});
The issue occurs during redirection. When the Web3Auth callback returns to the app, it provides a Base64-encoded string, and at that point I’m not sure what the next steps are or how this value should be handled.
On desktop, everything works as intended only when uxMode is set to "popup". In that case, the Base64 string resolves correctly and returns an idToken, which allows my backend to handle the login properly:
const tokens = await this.apiAuth.login(idToken, appPubKey as string);
However, when returning to the app after the redirect flow, web3auth.init() is triggered and performs the following API call:
It returns this object:
{
"teamId": "<TEAM_ID>",
"enableKeyExport": true,
"sessionTime": 86400,
"userDataInIdToken": true,
"walletConnectProjectId": "<WALLET_CONNECT_PROJECT_ID>",
"whitelist": {
"urls": null,
"signed_urls": {}
},
"chains": [
{
"chainNamespace": "eip155",
"chainId": "<CHAIN_ID>",
"displayName": "Ethereum",
"blockExplorerUrl": "<BLOCK_EXPLORER_URL>",
"ticker": "ETH",
"tickerName": "Ether",
"logo": "<CHAIN_LOGO_URL>",
"isTestnet": false,
"isInfuraSupported": true,
"decimals": 18,
"enabled": true,
"rpcTarget": "<RPC_TARGET_URL>"
}
],
"embeddedWalletAuth": [
{
"name": "google",
"authConnection": "google",
"groupedAuthConnectionId": "<GROUPED_AUTH_CONNECTION_ID>",
"authConnectionId": "<AUTH_CONNECTION_ID>",
"clientId": "<GOOGLE_CLIENT_ID>",
"isDefault": true
},
{
"name": "twitter",
"authConnection": "twitter",
"groupedAuthConnectionId": "<GROUPED_AUTH_CONNECTION_ID>",
"authConnectionId": "<AUTH_CONNECTION_ID>",
"clientId": "<TWITTER_CLIENT_ID>",
"jwtParameters": {
"domain": "<AUTH0_DOMAIN>",
"connection": "twitter",
"isUserIdCaseSensitive": false
},
"isDefault": true
},
{
"name": "facebook",
"authConnection": "facebook",
"groupedAuthConnectionId": "<GROUPED_AUTH_CONNECTION_ID>",
"authConnectionId": "<AUTH_CONNECTION_ID>",
"clientId": "<FACEBOOK_CLIENT_ID>",
"isDefault": true
},
{
"name": "apple",
"authConnection": "apple",
"groupedAuthConnectionId": "<GROUPED_AUTH_CONNECTION_ID>",
"authConnectionId": "<AUTH_CONNECTION_ID>",
"clientId": "<APPLE_CLIENT_ID>",
"jwtParameters": {
"domain": "<AUTH0_DOMAIN>",
"connection": "apple"
},
"isDefault": true
}
],
"loginModal": {
"widgetType": "embed",
"logoAlignment": "center",
"signInMethods": [
"social",
"passwordless",
"externalWallets"
],
"borderRadiusType": "large",
"buttonRadiusType": "pill",
"addPreviousLoginHint": false,
"displayExternalWalletsCount": true,
"displayInstalledExternalWallets": false
}
}
As you can see, the whitelist object has two empty keys. On my dashboard, I have two whitelisted URLs, which is why the popup flow works correctly.
However, when using the embedded flow, the app gets stuck at
this.web3auth.status → "connecting".
I’ve also tried different values for authBuildEnv (for example, "testing"), but none of them work. I’m not sure whether this is a bug or if I’m missing something in the configuration.
The app flow is as follows:
Splash screen → Login (Web3Auth) → Click Google icon → Google login → Web3Auth callback → Return to app → Stuck



