Skip to main content
Render the app in an iframe instead of navigating away. When embedded, the app posts an origin-checked completion message instead of redirecting, so your page never unloads and you keep full control of the surrounding UI (e.g. your bottom sheet or modal). See the overview for detection, hosting, and the shared CORS requirements.
openUpgradeIframe appends an iframe into a container you provide and resolves completed when the app reports done (refreshing the session on success). Call close() if the user dismisses your sheet first.
This route is web-only — there is no DOM iframe in React Native. React Native customers should use the Popup route, which runs in the system auth session.

See also

Last modified on July 24, 2026