# Use Supabase Auth with React Native

Learn how to use Supabase Auth with React Native

## Quickstart

1. **Create a new Supabase project**

[Launch a new project](/dashboard) in the Supabase Dashboard.

Your new database has a table for storing your users. You can see that this table is currently empty by running some SQL in the [SQL Editor](/dashboard/project/_/sql).

```sql name=SQL_EDITOR
 select * from auth.users;
```

2. **Create a React app**

Create a React app using the `create-expo-app` command.

```bash name=Terminal
npx create-expo-app -t expo-template-blank-typescript my-app
```

3. **Install the Supabase client library**

Install `supabase-js` and the required dependencies.

```bash name=Terminal
cd my-app && npx expo install @supabase/supabase-js @react-native-async-storage/async-storage @rneui/themed react-native-url-polyfill
```

4. **Set up your sign-in component**

Create a helper file `lib/supabase.ts` that exports a Supabase client using your Project URL and key.

Rename `.env.example` to `.env` and populate with your Supabase connection variables:

### Get API details

To interact with data in database tables, you use the client libraries that wrap [the auto-generated Data API endpoints](/docs/guides/api), authenticating using the Project URL and key from [the project **Connect** dialog](/dashboard/project/_?showConnect=true\&connectTab=mobiles\&framework=exporeactnative).





Note: See [API keys](/docs/guides/getting-started/api-keys) for a full explanation of all key types, their uses, and where to find them.

5. **Create a sign-in component**

Create a React Native component to manage sign-ins and sign-ups. The app later uses the [`getClaims`](/docs/reference/javascript/auth-getclaims) method in `App.tsx` to validate the local JWT before showing the signed-in user.

6. **Add the Auth component to your app**

Add the `Auth` component to your `App.tsx` file. If the user is signed in, print the user id to the screen.

7. **Start the app**

Start the app, and follow the instructions in the terminal.

```bash name=Terminal
npm start
```
