Skip to content
Developers

@synqid/react-native.
Native sign-in. Same hooks.

React Native + Expo SDK. OAuth handshakes through expo-web-browser, tokens in expo-secure-store, and a Gorhom bottom-sheet sign-in UI. Bare RN works too — swap to react-native-keychain for storage.

Install

pnpm add @synqid/react-native @synqid/js
pnpm add expo-secure-store expo-web-browser expo-linking @gorhom/bottom-sheet

Wire it up

Provider at the root under BottomSheetModalProvider; sheet rendered once anywhere in the tree.

// App.tsx
import { SynqProvider, SignInSheet } from '@synqid/react-native'
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'

export default function App() {
  return (
    <BottomSheetModalProvider>
      <SynqProvider
        issuer="https://api.synq.id"
        clientId={process.env.EXPO_PUBLIC_SYNQ_CLIENT_ID!}
        redirectUri="myapp://oauth/callback"
        uiTheme="dark"
        colorScheme="system"
      >
        <Root />
        <SignInSheet />
      </SynqProvider>
    </BottomSheetModalProvider>
  )
}
What it handles

Mobile auth, fully wired

OAuth via secure browser tab

expo-web-browser opens the OIDC authorization URL in a native ASWebAuthenticationSession (iOS) or Custom Tab (Android). User signs in, returns via deep link, session lands.

Secure token storage

Tokens live in expo-secure-store (Keychain on iOS, EncryptedSharedPreferences on Android). For bare RN, swap to SecureStorageReactNativeKeychain.

Bottom-sheet UI

<SignInSheet /> renders a Gorhom bottom-sheet with the providers your Brand enabled. Theme via tokens; override slots with signInSheetStyles.

Wallet adapter bridge

Pass walletAdapter prop (e.g. useSolanaMwaAdapter from @synqid/solana-mobile) and the sheet renders a Continue-with-wallet button alongside socials.

Multi-tab safe

Cross-tab session sync via expo-secure-store reads. One sign-in propagates to every screen on mount.

Theme parity with web

Same five presets (dark, light, glass, monochrome, brutalist), same colorScheme="system" follow, same provider-icon overrides.

Pair it with

Common questions

Native sign-in without the platform pain.

Deep links, secure storage, sheets, refresh — all handled. You ship the auth screens, not the platform glue.