SDKs / Client

React Native

TypeScript Themeable
@identra/react-native

The same component surface as React, rendered with native primitives (no DOM).

Install

pnpm add @identra/react-native @identra/js

Wrap your app

Social buttons open the OAuth flow with React Native's `Linking`; register a deep link as the redirect URL in your app settings.

tsx
import { IdentraProvider, SignedIn, SignedOut, SignIn, UserButton } from "@identra/react-native";

export default function App() {
  return (
    <IdentraProvider baseUrl="http://localhost:8080" applicationId={APP_ID}>
      <SignedOut>
        <SignIn />
      </SignedOut>
      <SignedIn>
        <UserButton />
      </SignedIn>
    </IdentraProvider>
  );
}

Headless

tsx
import { useIdentra } from "@identra/react-native";

function MyScreen() {
  const { state, client } = useIdentra();
  // await client.signInWithPassword({ email, password })
  // await client.startEmailOtp(email); await client.verify({ verification_id, code })
}

Test with sandbox mode

In sandbox mode verification codes are a fixed 424242 and no real SMS/email is sent.

bash
identra sandbox on

Drop-in components

SignInSignUpUserButtonSignedInSignedOutProtect

API

IdentraProvideruseIdentra()useIdentraClient()