Skip to content

Conversation

@chriscanin
Copy link
Member

@chriscanin chriscanin commented Nov 12, 2025

🔎 Previews:

What does this solve?

  • Adds comprehensive documentation for developers implementing native Google Sign-In in their Expo apps
  • Provides step-by-step setup instructions for configuring Google OAuth credentials and Clerk integration
  • Documents the new useSignInWithGoogle() hook API, parameters, return values, and error handling

Files Added:

  • docs/reference/expo/use-google-sign-in.mdx - Complete API reference for the useSignInWithGoogle() hook
  • docs/guides/configure/auth-strategies/sign-in-with-google.expo.mdx - Comprehensive setup guide for Google Sign-In

What changed?

  • Added API Reference Documentation: Created complete reference for useSignInWithGoogle() hook including:

    • Method signature with TypeScript types
    • Return value descriptions (createdSessionId, setActive, signIn, signUp)
    • Three practical examples: basic usage, with custom metadata, and reusable component
    • Comprehensive error handling guide covering user cancellation, platform errors, missing packages, and Play Services issues
  • Added Setup Guide: Created detailed setup guide covering:

    • Google Cloud Console configuration (creating Web, iOS, and Android OAuth 2.0 credentials)
    • SHA-1 certificate fingerprint generation for Android debug and release builds
    • Adding iOS and Android apps to Clerk Dashboard Native Applications
    • Enabling Google as an SSO connection in Clerk
    • Environment variable configuration for client IDs
    • App config integration with proper expo plugin setup
    • Build requirements and instructions (prebuild vs EAS Build)

Checklist

  • I have clicked on "Files changed" and performed a thorough self-review
  • All existing checks pass

@vercel
Copy link

vercel bot commented Nov 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
clerk-docs Ready Ready Preview Jan 9, 2026 8:11pm

@chriscanin chriscanin marked this pull request as ready for review November 13, 2025 22:05
@chriscanin chriscanin requested a review from a team as a code owner November 13, 2025 22:05
@SarahSoutoul
Copy link
Contributor

@chriscanin have pushed my docs review here - let me know your thoughts. Feel free to put it back in draft as we discussed if it needs to be retweaked. A lot of the changes I submitted are consistency + docs voice changes.

…ble names and remove outdated package reference
@SarahSoutoul
Copy link
Contributor

@chriscanin have left the second docs review after your recent changes: docs review pt 2 after changes. Have a look and let me know your thoughts.

I want to double check a few more things and test out the flow, and then it should be good.

@SarahSoutoul
Copy link
Contributor

SarahSoutoul commented Dec 5, 2025

Second docs review added here: docs review pt2 @chriscanin.

@alexisintech tagging you for visibility if you wanted to have a look at this PR!

@alexisintech
Copy link
Member

Second docs review added here: docs review pt2 @chriscanin.

@alexisintech tagging you for visibility if you wanted to have a look at this PR!

will check out today!

@alexisintech
Copy link
Member

quick update: before the christmas break, on dec 18th, chris still had to wrap some things up with this feature, and wasn't comfortable releasing it before the break (as if something happened during break, he wouldn't be available to handle it, rightfully so!! 🎄).

chris will have an update on this soon, so that we can keep this feature and PR moving forward 🙏

@chriscanin
Copy link
Member Author

chriscanin commented Jan 5, 2026

Hey @alexisintech , the JS repo has been merged into main for the core-3 release. I am working on a PR to merge into core-2.

@alexisintech
Copy link
Member

alexisintech commented Jan 5, 2026

Hey @alexisintech , the JS repo has been merged into main for the core-3 release. I am working on a PR to merge into core-2.

awesome! once that's done, you and I can go through testing for core 2 so that we can get this PR merged (we can even do both core 2 and core 3, if you want!)

@chriscanin chriscanin marked this pull request as draft January 6, 2026 20:04
@chriscanin chriscanin marked this pull request as ready for review January 6, 2026 20:11
@chriscanin
Copy link
Member Author

@alexisintech I have created another PR and drafted it, this new PR will be for the core-3 release, to ensure when core-3 goes out, our docs are updated.

Comment on lines +194 to +202
```bash {{ filename: 'terminal' }}
# Using EAS Build
eas build --platform ios
eas build --platform android

# Or using local prebuild
npx expo prebuild && npx expo run:ios --device
npx expo prebuild && npx expo run:android --device
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slight suggestion that doesn't need to be taken. But, I was thinking we could also have this under <Tabs> with Android and iOS as options, like we did for the rest of the file. @alexisintech

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i considered that too! 🧠 👯 was going to test android first, and see what in the entire doc was going to get updated (bc i'm still not sure if tabs is the right direction, but won't know until we test android)

Comment on lines 15 to +23
title: "A Google Developer account is required.",
link: "https://console.developers.google.com/",
icon: "user-circle",
}
},
{
title: "Follow the Android quickstart",
link: "/docs/android/getting-started/quickstart",
icon: "android",
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexisintech Not a massive issue, but do we want to align the order of these to be consistent with the order in the Expo guide.

Expo
Screenshot 2026-01-08 at 10 39 48 am

Android

Screenshot 2026-01-08 at 10 39 55 am

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure 9d51926

>
> ---
>
> `app.json` is for projects using static JSON configuration (simpler projects). `app.config.ts` is for projects that need dynamic configuration (environment variables, conditional logic, etc.). The `app.config.ts` is the TypeScript version of `app.json` and will overwrite `app.json` with any values that it has.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

app.json is for projects using static JSON configuration. app.config.ts is for projects that need dynamic configuration (environment variables, conditional logic, etc.). When both files exist, app.config.ts receives the values from app.json and can extend or override them. Choose the tab below based on which configuration approach your project uses.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated: 72403f0

@alexisintech
Copy link
Member

update: the web browser version of sign in with google is working, chris is getting the native version working and then we will test that for ios, and then test the guide for android 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants