Sign In with Google | React Native Expo Tutorial
Beto, August 21, 2023 · 9,737 views
In this video, I show you how to implement Google sign-in in a React Native app with Expo. Authentication opens an external WebView window so the user picks a Google account and authorizes the app. We then return to the app with a token to fetch user info.
This tutorial is ideal if you want social auth without heavy native configuration. I also mention my React Native course, which covers basics through navigation, animations, and state management.
What's inside
- Google sign-in demo using WebView in Expo
- Opening an external window for Google authentication
- Getting the token and user data after sign-in
- Persisting session and managing user state
- Open source resources on codewithbeto.dev
- Overview of the full React Native course
- Navigation and authentication patterns in the course
- Course progress, feedback, and content details
Google sign-in demo using WebView in Expo
I start with a simple app and a Google sign-in button. Tapping it opens an external WebView where the user selects a Google account. This is one of the easiest ways to add Google auth in Expo without complex native SDKs.
After authorization, the app receives a token to fetch basic user info like name and email. The demo shows returning to the app with that data to continue the flow.
Opening an external window for Google authentication
Authentication uses a WebView that loads Google's sign-in URL. The user interacts with Google's official page to pick an account and grant permissions. You avoid native SDK setup and complicated permissions.
This external window is central to the Expo auth flow: it keeps the process simple and delegates security to Google.
Getting the token and user data after sign-in
After the user grants access, the app receives an auth token. With that token you can fetch user data: name, email, and profile photo.
I show how to use the token for an active session and personalize the app. The demo does not persist the session, but I explain how to do that so users do not sign in every time.
Persisting session and managing user state
The demo does not save the session, so reloading returns to the login screen. I mention local storage to keep the user signed in and improve UX.
I also introduce state management to track auth status and show different screens, which the full course covers in depth.
Open source resources on codewithbeto.dev
All resources and the full tutorial project are on codewithbeto.dev. You can download the code as a zip or browse it on GitHub to study the implementation.
That makes it easy to try, modify, and adapt Google sign-in without starting from scratch.
Overview of the full React Native course
I use this video to answer questions about my React Native course. You'll learn fundamentals through advanced topics with practical lessons and regular updates.
Lessons include videos and playgrounds to practice, and new content is added over time.
Navigation and authentication patterns in the course
The course teaches advanced navigation: stacks, drawers, and tabs, plus auth flows that route logged-in and logged-out users to the right screens.
It also covers animations, Redux state management, and notifications for complete, professional apps.
Course progress, feedback, and content details
The course includes a progress bar saved locally (not synced across devices). There is also a feedback system so students can request features or ask questions.
I show example lessons with durations and explain that the course keeps growing with more content over time.
Resources

CourseReact Native course
Learn React Native from zero to advanced with practical projects and structured lessons.

YouTubeSign In with Google | React Native Expo Tutorial
Step-by-step tutorial to integrate Google sign-in in Expo using WebView.
Like this article? Get the rest of the library plus weekly React Native tips. Free.