How it works
Supabase Auth is an open-source Go server (it began as a fork of Netlify's GoTrue) that runs beside each project's database and stores users in the auth.users table. It supports email and password, magic links, one-time codes by email or SMS, anonymous sign-ins, OAuth providers such as Google, Apple and GitHub, SAML single sign-on, TOTP two-factor and, more recently, passkeys. Client libraries for JavaScript, Flutter, Swift, Kotlin and Python handle sign-in and token refresh.
Each sign-in returns a short-lived JWT access token and a refresh token. Because the database understands those tokens, row level security policies can call auth.uid() to limit every query to the signed-in user's rows, and a custom access token hook can add claims such as a role. Projects can also accept tokens from Clerk, Firebase Auth or Auth0 when another provider handles sign-in.
Two settings matter before launch. The built-in email sender only reaches the project team's own addresses and allows a couple of messages an hour, so production apps connect their own SMTP service such as Resend, Amazon SES or Postmark. SMS codes likewise need an account with an SMS provider such as Twilio.
Supabase Auth pros and cons
Pros
- Users live in your own Postgres database, next to their data
- Tokens plug straight into row level security policies
- Free plan covers 50,000 monthly active users
- Open source and self-hostable, so leaving is realistic
- Many sign-in methods, including SAML and anonymous users
Cons
- Few ready-made screens compared with Clerk; most apps build their own forms
- Production email and SMS need your own providers
- SAML users and phone-based MFA cost extra
- Less compelling when the rest of the app does not run on Supabase
When to use Supabase Auth
Pick it when
- Your app already uses Supabase for its database
- You want sign-in and data permissions enforced in one place
- A tight budget with many users on the free allowance
Skip it when
- You want complete, polished sign-in and profile screens out of the box
- The rest of your backend lives elsewhere and does not use Postgres
Supabase Auth pricing
Free tier
Free plan includes 50,000 monthly active users. Pro ($25 a month) includes 100,000, then about $0.00325 per extra user; SAML users and phone MFA cost extra.
Supabase Auth pricing page (opens in a new tab)Approximate, checked September 2026.What the other tools cost
Supabase Auth vs the alternatives
Related terms
More in Auth and identity
Providers