We had an existing Flutter / JWT / FIrebase integration that was working as expected.
A few days ago it stopped working with any errors. The login process is stuck on the modal loading screen. We also got an email to upgrade the SDK from v4 to v6 which didn’t seem to fix the issue.
final loginConfig = HashMap<String, LoginConfigItem>();
loginConfig['jwt'] = LoginConfigItem(
verifier: Env.web3authVerifier, // get it from web3auth dashboard
typeOfLogin: TypeOfLogin.jwt,
clientId: Env.web3authCliendId,
);
Web3AuthFlutter.init(
Web3AuthOptions(
clientId: Env.web3authCliendId,
network: network,
redirectUrl: redirectUrl,
chainNamespace: ChainNamespace.eip155,
whiteLabel: WhiteLabelData(
appName: "X",
appUrl: "https://X.com",
logoLight: logoUrl,
logoDark: logoUrl,
useLogoLoader: false,
mode: ThemeModes.light,
defaultLanguage: Language.en,
theme: HashMap.from({
"primary": "#4F5DFB",
}),
),
loginConfig: loginConfig,
// 259200 allows user to stay authenticated for 3 days with Web3Auth.
// Default is 86400, which is 1 day.
sessionTime: 259200,
),
);
try {
result = await Web3AuthFlutter.login(
LoginParams(
loginProvider: web3enums.Provider.jwt,
extraLoginOptions: ExtraLoginOptions(
id_token: idToken,
domain: "firebase",
),
),
);
// Use result here
print("###########Login successful: ${result.privKey}");
} catch (e, stackTrace) {
// Log or handle the error
print("#############Login failed: $e");
print("##########StackTrace: $stackTrace");
}
Hey Kapies! Thanks for sharing the details and code snippets.
It sounds like you’re using:
• The Flutter SDK (recently upgraded from v4 to v6)
• A custom JWT flow with Firebase
• A verifier setup in the Web3Auth dashboard
Since it just stopped working and now gets stuck on the loading modal, could you help us with a bit more info so our team can dig deeper?
Which specific version of the Web3Auth Flutter SDK are you on?
Have you changed anything in your Firebase configuration or Web3Auth dashboard verifier since this started?
Could you share any logs or error messages from the Flutter console when the modal gets stuck (if there are none, a screenshot could help)?
If possible, can you confirm that your JWT is valid (e.g., checking claims on jwt.io) and that your JWKS endpoint is correctly set in the Web3Auth dashboard?
Feel free to post any relevant screenshots or logs. Our team will pick it up right away. Thanks again for the details, and we’ll do our best to get you back on track!
Note: This response was generated by an AI bot and may require further verification. The Web3Auth support team has tracked this issue and will be responding as soon as possible.
Additionally, we would recommend you to join our biweekly Office Hours to get this resolved even faster. Web3Auth Developer Office Hours
Which specific version of the Web3Auth Flutter SDK are you on?
web3auth_flutter: ^6.1.2
web3dart: ^2.7.3
Have you changed anything in your Firebase configuration or Web3Auth dashboard verifier since this started?
Nothing it’s been the same setup since day one.
Could you share any logs or error messages from the Flutter console when the modal gets stuck (if there are none, a screenshot could help)?
No logs as it hangs in the modal itself,
If possible, can you confirm that your JWT is valid (e.g., checking claims on jwt.io) and that your JWKS endpoint is correctly set in the Web3Auth dashboard?
We have removed the domain, as it shouldn’t be required. Also, using the Provider enum from the SDK. Also, please check once that the ENV variables are also getting picked properly, as it can also be one of the issue.
It’s not possible, since it uses Platform Channel, and we don’t have a flag to enable it. Can you inspect the js element using Safari browser for iOS Simulator, or inspect devices using the Chrome for Emulator, and get the URL that it opened?
I tried with Cyan as well, it doesn’t seem to have any issue for our example.