You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(oauth): start the provider redirect through a port #128
OAuthProviderButtons starts the provider redirect with:
window.location.assign(data.authorizationUrl);
There is no window.location in React Native. A native client has to open the
authorization URL in an in app browser session and receive the result back through the
app's URL scheme.
Scope
Put the redirect behind a port, with a window.location implementation on web and an
in app browser session (expo-web-browser) on native.
Handle the callback through the app scheme rather than a route in a DOM router.
Notes
The API side already supports this. resolveOAuthRedirectUri matches a requested
redirect URI exactly against the provider allowlist before falling back to origin
comparison, so a custom scheme such as myapp://oauth/callback is accepted today with no
API change, as long as it is registered on the provider.
Shipped in #150: OAuthRedirectPort (open(authorizationUrl, redirectUri)) with the browser default (window.location.assign) in @seamless-auth/react, and createWebBrowserOAuthRedirect over expo-web-browser plus parseOAuthCallbackUrl in @seamless-auth/react-native (#151).
Activity
Bccorb commentedon Aug 1, 2026
Part of the React Native mobile template epic: fells-code/seamless-templates#40
feat(client): platform ports and a bearer transport with token custody
feat(client): platform ports and a bearer transport with token custody
Bccorb commentedon Sep 13, 2026
Shipped in #150:
OAuthRedirectPort(open(authorizationUrl, redirectUri)) with the browser default (window.location.assign) in@seamless-auth/react, andcreateWebBrowserOAuthRedirectover expo-web-browser plusparseOAuthCallbackUrlin@seamless-auth/react-native(#151).