Agent skill · software engineering · aiskillstore
rn-auth
React Native authentication patterns for Expo apps. Use when implementing login flows, Google/Apple sign-in, token management, session handling, or debugging auth issues in Expo/React Native.
Why this skill is useful
Provides specific React Native authentication patterns and token management practices that are not widely known.
What it needs
Requires expo, expo-auth-session, expo-secure-store installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.
What this skill does
React Native Authentication (Expo) Core Patterns Expo AuthSession for OAuth Use expo-auth-session with expo-web-browser for OAuth flows: Common Pitfalls 1. Missing maybeCompleteAuthSession() - Auth redirects fail silently without this at module level 2. Wrong client ID - iOS needs the iOS client ID, but backend verification needs the web client ID 3. Scheme mismatch - app.json scheme must match Google Cloud Console redirect URI 4. Expo Go vs standalone - Different redirect URIs; use AuthSession.makeRedirectUri() to handle both Token Storage Use expo-secure-store for tokens (not AsyncStorage): Auth Context Pattern Protected Routes with Expo Router Backend Integration Sending Auth Headers Google Token Verification (FastAPI backend) Debugging Auth Issues Check redirect URI configuration Compare this with what's configured in: Google Cloud Console > Credentials > OAuth 2.0 Client IDs app.json scheme field Common error patterns Error Likely Cause ------- -------------- "redirecturimismatch" Redirect URI in console doesn't match app Auth popup opens but nothing happens Missing maybeCompleteAuthSession() Works in Expo Go, fails in build Using Expo Go redirect URI in standalone config Token validation fails on backend Using iOS client ID instead of web client ID for verification Test auth flow 1. Clear all tokens: await tokenStorage.clear() 2. Force kill app 3. Reopen and verify redirect to login 4. Complete sign-in flow 5. Force kill and reopen - should stay logged in
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aiskillstore/rn-auth