Try this:
-Login to your expo account: on command line type:
expo login
##then your account credencials##
then restart your expo instance:
expo start
And everything should work fine
Answer from paichato on Stack OverflowIntegrating social auth like google to expo router project is a nightmare
react native - Issues with Expo Auth Session implementation - Stack Overflow
Newest 'expo-auth-session' Questions - Stack Overflow
react native - Google Redirect Url For Development Setup Using Expo-auth-session - Stack Overflow
Videos
» npm install expo-auth-session
What happened to seamless auth integrations with expo apps?
I'm using the expo-router and supabase. I want to implement google auth and I have two options:
expo-auth-session : the docs are not up to date, for implementing google auth with supabase the docs refer to the supabase docs which uses react-native-google-signin.
react-native-google-signin : the free/original version will be deprecated in 2025 so there's no point of using this and I do not want to use their paid version.
What should I do?
Try this:
-Login to your expo account: on command line type:
expo login
##then your account credencials##
then restart your expo instance:
expo start
And everything should work fine
I have the exact same issue. I've posted on the Expo forums too and tried to contact the devs about it but nobody's responding to me. I think it's been broken with a recent change. If you look at the redirect URL it's supposed to have two more query parameters one for the authentication URL and one for the return URL
I've been trying to set up google oauth for the android version of the application that I'm building. Below you will find a code snippet of the initial set up that I had. I have gone through several iterations of how I've been setting up the code to work with the android version however the error that I keep getting is a URI redirect mismatch. I understand what the error means but I'm not sure what I'm doing wrong.
In the google developers console in the android section, there are 3 inputs where I can enter information.
name: this doesn't matter AFAIK
Package.name: I've tried to set this either the scheme in my app.json or the android.package name
SHA-1 Fingerprint certificate: I got this value from doing eas credentials.
I'm fairly certain that I'm screwing up the package.name input.
App.json scheme: com.john-doe.mobile-client
android.package: com.john-doe.appname_android
Im going to make the scheme and the package name the same then will rebuild. I will probably need to update the sha-1 fingerprint certificate also after a rebuild. Once the build is done I'll come back to update this but I'm honestly stumped.
import { useAuthRequest } from "expo-auth-session/providers/google";
WebBrowser.maybeCompleteAuthSession();
const [request, response, promptAsync] = useAuthRequest({
androidClientId:
"myadroid-client-id.apps.googleusercontent.com",
iosClientId:
"myios-client-id.apps.googleusercontent.com",
});
// refactor this to not use useEfffect.
useEffect(() => {
if (response?.type === "success") {
const { authentication } = response;
const accessToken = authentication?.accessToken;
if (accessToken) {
saveAuthToken(accessToken)
.then(() => refreshSession())
.then(() => router.push("/"))
.catch((error) => {
console.error("Error saving token:", error);
});
}
}
}, [response]);