I have had the same issue, have managed to get it working using expo-dev-client.

I didn't find a way to fix this for Expo Go - not sure if there is one currently. It seems like using Oauth google login on IOS, currently requires building the app.

Once you configure the build, you can use

import { makeRedirectUri } from 'expo-auth-session';

to get the correct redirect URL.

const [request, response, promptAsync] = Google.useAuthRequest({
 clientId: 'xxxx',
 iosClientId:
        'xxxx',
 redirectUri: makeRedirectUri()});

Also remember to generate IOS credentials in the google console.

Answer from bonbonvoyage on Stack Overflow
🌐
Expo Documentation
docs.expo.dev › versions › latest › sdk › auth-session
AuthSession - Expo Documentation
Where available, we recommend using ... to that provider. For example, use @react-native-google-signin/google-signin for Google authentication and react-native-fbsdk-next for Facebook. For more information, see Authentication overview. expo-crypto is a peer dependency and must be installed alongside expo-auth-session...
🌐
GitHub
github.com › expo › expo › blob › main › packages › expo-auth-session › src › providers › Google.ts
expo/packages/expo-auth-session/src/providers/Google.ts at main · expo/expo
* Extends [`AuthRequest`](#authrequest) and accepts [`GoogleAuthRequestConfig`](#googleauthrequestconfig) in the constructor.
Author   expo
🌐
GitHub
github.com › expo › expo › issues › 9997
Unable to resolve module 'expo-auth-session/providers/google.js' · Issue #9997 · expo/expo
May 17, 2020 - Reload to refresh your session. ... straight from the documentation in here you have this piece of code (with a minor syntax correction): https://snack.expo.io/@timsa7/7a6cfc ... for the module to load. the documentation talks about ways to implement a web sign-in with several providers from A to Z. note: this isn't a documentation issue, the google part of the module is just gone.
Published   Aug 30, 2020
🌐
Medium
medium.com › @gbenleseun2016 › guide-to-sign-in-with-google-on-the-expo-platform-using-expo-auth-session-9d3688d2107a
Guide to sign In with Google On the Expo platform using expo-auth-session. | by Seun Gbenle | Medium
September 6, 2023 - import * as WebBrowser from "expo-web-browser"; import * as Google from "expo-auth-session/providers/google"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { ANDROID_CLIENT_ID, IOS_CLIENT_ID, WEB_CLIENT_ID } from "@env";
🌐
DEV Community
dev.to › angela300 › login-with-google-on-react-native-expo-3h9n
Login with Google on React Native Expo - DEV Community
March 18, 2024 - Hit create and on the pop up screen that comes up, copy the client ID an paste it your App.js file for later use That was the most difficult part, now we can start creating the code for the application In app.js, import WebBrowser: Import * as WebBrowser from “expo-web-browser” Initialize the WebBrowser with this command: WebBrowser.maybeCompleteAuthSession(); Also add this import in your app.js: Import * as Google from “expo-auth-session/providers/google” To save the information of the user when they sign in so that they do not have to sign in again, we will use async storage: Import
Find elsewhere
🌐
GitHub
github.com › expo › expo › issues › 21084
[expo-auth-session] I'm unable to sign in with Google on Android · Issue #21084 · expo/expo
February 3, 2023 - import React, { useEffect } from "react"; import { View, Text, Button } from "react-native"; import * as AuthSession from "expo-auth-session"; import * as Google from "expo-auth-session/providers/google"; import * as WebBrowser from "expo-web-browser"; WebBrowser.maybeCompleteAuthSession(); const SocialLoginOptions = (): JSX.Element => { const [request, response, promptAsync] = Google.useAuthRequest({ androidClientId: "id0000.apps.googleusercontent.com", iosClientId: "id0000.apps.googleusercontent.com", expoClientId: "id0000.apps.googleusercontent.com", }); useEffect(() => { console.log("respo
Published   Feb 03, 2023
🌐
Expo Documentation
docs.expo.dev › guides › authentication
Authentication with OAuth or OpenID providers - Expo Documentation
Learn how to utilize the expo-auth-session library to implement authentication with OAuth or OpenID providers.
🌐
YouTube
youtube.com › watch
Expo Auth Session for Google Authentication on React Native Apps - YouTube
Hi everyone!SKIP INTRO and go straight to code: 2:28Today I am going to talk about Expo AuthSession with the Google provider and some drawbacks it has, speci...
Published   February 5, 2022
🌐
Expo Documentation
docs.expo.dev › guides › google-authentication
Using Google authentication - Expo Documentation
A guide on using @react-native-google-signin/google-signin library to integrate Google authentication in your Expo project. ... The @react-native-google-signin/google-signin library provides a way to integrate Google authentication in your Expo app.
🌐
GitHub
gist.github.com › jdthorpe › aaa0d31a598f299a57e5c76535bf0690
expo-auth-session example · GitHub
Do you know why? I remember Expo Go asked me for permission to access external link before open Google's authentication screen on my old login method using AuthSession.startAsync({ authUrl }) (SDK 48) and now it doesn't ask me anymore.
🌐
Expo Documentation
docs.expo.dev › develop › authentication
Authentication in Expo and React Native apps - Expo Documentation
Once the user is authenticated, you need to think about how to store, restore, and validate their session. ... Traditionally, cookies are used to store sessions on the web, while JSON Web Tokens (JWTs) are common in native applications. The above tutorials demonstrate exactly how to handle this. After receiving the ID token from a provider like Google or Apple, you generate a custom JWT on the server using Expo API Routes.
🌐
npm
npmjs.com › package › expo-google-app-auth
expo-google-app-auth - npm
Expo Google App Auth API wrapped ... We've replaced this package with expo-auth-session/providers/google which works on iOS, Android, and web....
      » npm install expo-google-app-auth
    
Published   Mar 04, 2022
Version   10.0.0
Author   650 Industries, Inc.
🌐
Reddit
reddit.com › r/expo › expo auth session, google oauth and android
r/expo on Reddit: Expo Auth Session, Google OAuth and Android
May 6, 2025 -

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]);
🌐
YouTube
youtube.com › watch
Expo Auth Session - Login with Google in React Native Apps ...
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
🌐
GitHub
github.com › expo › expo › issues › 18270
expo-auth-session with Google login problems in Development build on android · Issue #18270 · expo/expo
July 16, 2022 - const config = { expoClientId: "some value", iosClientId: "some value", androidClientId: "some value", }; const [user, setUser] = useState(null); const [request, response, googlePromptLogin] = Google.useAuthRequest(config); const SignInWithGoogle = async () => { googlePromptLogin().then(async (response) => { if (response.type === "success") { const credential = GoogleAuthProvider.credential( null, response.authentication.accessToken ); await signInWithCredential(auth, credential); } }); return Promise.reject(); }; useEffect(() => { onAuthStateChanged(auth, (user) => { if (user) { setUser(user); } else { setUser(null); } }); }), [];
Published   Jul 16, 2022