The login worked, but Supabase fell back to your Site URL (localhost:3000) because you didn't pass a redirectTo it recognises. And even with the right URL, on native you have to catch the redirect yourself and set the session:
import * as WebBrowser from "expo-web-browser";
import { makeRedirectUri } from "expo-auth-session";
const redirectTo = makeRedirectUri(); // nina-app:// in a build, exp://... in Expo Go
const { data } = await supabase.auth.signInWithOAuth({
provider: "google",
options: { redirectTo, skipBrowserRedirect: true },
});
const res = await WebBrowser.openAuthSessionAsync(data!.url, redirectTo);
if (res.type === "success") {
const params = new URLSearchParams(res.url.split("#")[1]);
await supabase.auth.setSession({
access_token: params.get("access_token")!,
refresh_token: params.get("refresh_token")!,
});
}Then in Supabase → Authentication → URL Configuration, add the exact value makeRedirectUri() returns (log it) to Redirect URLs. In Expo Go that's an exp://192.168... URL which changes with your network, so test in a development build.