Configuration
Configure authentication for your application.
Ensure Supabase is running
Ensure your Supabase instance (local or cloud) is up and running.
TurboStarter supports three different authentication methods:
- Password - the traditional email/password method, set to
true
by default - Magic Link - magic link, set to
false
by default - OAuth - OAuth providers, Google and Github are set up by default
The authentication configuration is set at apps/mobile/config/auth.ts
.
The recommendation is to not update this directly - instead, please define the environment variables and override the default behavior.
The configuration is also validated using the Zod schema, so if something is off, you'll see the errors.
For example, if you want to switch from password to magic link, you'd set the following environment variables:
Third party providers
To display third-party providers in the UI, you need to set the oAuth
array to include the provider you want to display. The default is Google and Github.
The configuration is done on Supabase's side - not on TurboStarter's side.
Third Party providers need to be configured, managed and enabled fully on the provider's and Supabase's side. TurboStarter does not need any configuration (beyond setting the provider to be displayed in the UI).
Please read Supabase's documentation on how to set up third-party providers.
For local development, also check out Supabase's documentation on how to set up OAuth providers locally.
Local development secrets
For local development, you would need to set the environment variables for OAuth providers in packages/db/.env.local
- this is the place from where the local Supabase instance reads the environment variables.
After changing values in .env.local
, you need to restart Docker containers using pnpm db:stop
and pnpm db:start
to apply the changes.
Remember to add redirect URL
As for the web app, we need to define some redirect url where the user is redirected after authentication. For mobile app, we don't have a classic URL, but an app scheme, which we're using to deep link user to specified screen in the app.
To find your app scheme, take a look at apps/mobile/app.config.ts
file:
Then, for local development, ensure it's added to additional_redirect_urls
array in packages/db/supabase/config.toml
file:
For the cloud instance, make sure to add in your project dashboard under Authentication -> URL Configuration -> Redirect URLs.
Last updated on