react-native-nitro-google-sign-in/google-signin

react-native-nitro-google-signin

>- Integrates react-native-nitro-google-signin (Nitro Universal Google Sign-In) in React Native and Expo apps. Use when adding Google Sign-In, One Tap sign-in, GoogleOneTapSignIn, Credential Manager, SHA-1 OAuth setup, google-services.json, GoogleService-Info.plist, Expo config plugin, DEVELOPER_ERROR, or webClientId autoDetect.

First seen Jun 5, 2026

Installation

$ npx skills add react-native-nitro-google-sign-in/google-signin --skill react-native-nitro-google-signin

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from react-native-nitro-google-sign-in/google-signin.

npx skills add react-native-nitro-google-sign-in/google-signin

Browse all from react-native-nitro-google-sign-in/google-signin

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 42
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,832 B
  • docs SUMMARY.md 367 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 150 installs

SKILL.md

React Native Nitro Google Sign-In

Agent skill (install first for coding agents)

npx skills add react-native-nitro-google-sign-in/google-signin -g -y

Docs: https://react-native-nitro-google-sign-in.github.io/docs/agents/skill

Package install

bun add react-native-nitro-google-signin react-native-nitro-modules
bundle exec pod install --project-directory="ios"

Requires RN ≥ 0.76. Not Expo Go — use expo-dev-client.

Rules

Topic Rule
API GoogleOneTapSignIn from react-native-nitro-google-signin
Configure first GoogleOneTapSignIn.configure({ webClientId }) before sign-in
serverAuthCode Requires offlineAccess: true in configure() — otherwise always null. requestScopes() still returns accessToken for on-device APIs without offline access
Backend Verify every idToken on server (sig, aud, iss, exp); validate JWT hd if using hostedDomain
iOS offline grant Silent signIn() returns serverAuthCode: null — use createAccount() for initial code
revokeAccess Android: by email/id. iOS: current session only (throws if id mismatch)
getTokens After sign-in; throws SIGNINREQUIRED if no session. iOS: call clearCachedAccessToken before retry after 401
getCurrentUser Sync; returns user + scopes or null. Check scopes before requestScopes for existing users
Flow order checkPlayServicessignIncreateAccountpresentExplicitSignIn
Android autoDetect Needs google-services.json + com.google.gms.google-services plugin
iOS GoogleService-Info.plist + REVERSEDCLIENTID URL scheme
Expo Plugin react-native-nitro-google-signin; expo prebuild after native config
After native changes Rebuild app — Metro alone is insufficient

Sign-in flow

import {
  GoogleOneTapSignIn,
  isNoSavedCredentialFoundResponse,
  isSuccessResponse,
} from 'react-native-nitro-google-signin'

GoogleOneTapSignIn.configure({ webClientId: 'autoDetect' })

await GoogleOneTapSignIn.checkPlayServices()
let response = await GoogleOneTapSignIn.signIn()
if (isNoSavedCredentialFoundResponse(response)) {
  response = await GoogleOneTapSignIn.createAccount()
}
if (isNoSavedCredentialFoundResponse(response)) {
  response = await GoogleOneTapSignIn.presentExplicitSignIn()
}
if (isSuccessResponse(response)) {
  const { user, idToken } = response.data
}

Platform quick pick

  • Expo → plugin + googleServicesFile in app.config.js → [reference.md#expo](reference.md#expo)
  • Bare Android → SHA-1 + optional Google Services plugin → [reference.md#android](reference.md#android)
  • Bare iOS → plist + URL scheme → [reference.md#ios](reference.md#ios)

Troubleshooting

Symptom Likely fix
DEVELOPER_ERROR (Android) Wrong SHA-1 or package on OAuth client
type: 'cancelled' after picking account (Android release/Play) Missing Play App Signing / release SHA-1 on Android OAuth client — troubleshooting
defaultwebclient_id was not found Add google-services.json + Gradle plugin
iOS redirect fails Fix REVERSEDCLIENTID URL scheme
pod install / Expo prebuild — AppCheckCore / RecaptchaInterop (or conflict with Firebase App Check) Expo: upgrade package + prebuild --clean (plugin adds modular headers, no AppCheckCore < 11.3 pin). Bare: add AppCheckCore/GoogleUtilities/RecaptchaInterop with :modular_headers => truetroubleshooting
Nitro not found Rebuild dev client / bundle exec pod install --project-directory="ios"
Android button laid out but blank Upgrade package (in-process branding button) + rebuild native app
Sign-in OK in debug, fails in release Consumer ProGuard rules ship with library; avoid -keep androidx.**; test assembleRelease. Also check release/Play SHA-1 (see cancelled-after-account-pick above)

More detail