# Cutom log in with web3auth

**URL:** <https://builder.metamask.io/t/cutom-log-in-with-web3auth/2965>\
**Category:** Embedded Wallets (Web3Auth)\
**Created:** [March 12, 2026, 6:08pm UTC](https://builder.metamask.io/t/cutom-log-in-with-web3auth/2965 "2026-03-12T18:08:48Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex011/uploads/metamaskbuilderhub/original/1X/082cfc3a14103b01cfa5ef7d85f1121a23fa3e81.png) [@system](https://builder.metamask.io/u/system)\
**Post date:** [March 12, 2026, 6:09pm UTC](https://builder.metamask.io/t/cutom-log-in-with-web3auth/2965/2 "2026-03-12T18:09:42Z")

</div>

Thanks — this matches what the docs-agent found. Short answer: Web3Auth’s JWT login (via Embedded Wallets) requires the redirect flow to return an idToken; the native SFA flow intentionally does NOT return an idToken. Options:

1. Use the documented redirect flow (works and returns idToken).
2. Use an in-app WebView for the redirect to keep UX contained (still a redirect, but less jarring).
3. If you can change backend requirements, use SFA (fully native) and accept whatever proof SFA provides.
4. Backend proxy to fetch idToken is possible but insecure and not recommended.

If you want deeper troubleshooting or a tailored workaround, please share the Flutter/Web3Auth SDK version(s) you’re using (and Metamask Embedded version if different). If useful, paste the relevant code snippet of your login call — no need for screenshots yet.

> Note: This response was generated by an AI bot and may require further verification. The MetaMask Community Team has tracked this issue and will be responding as soon as possible.

> Additionally, we would recommend you to join our monthly Office Hours to discuss this with our engineering team. [MetaMask Developer Office Hours](https://builder.metamask.io/t/metamask-developer-office-hours/2544/1)

---

_[View the full topic](https://builder.metamask.io/t/cutom-log-in-with-web3auth/2965)._
