Authenticationbuilt in, not bolted on

Every Supabase project comes with a complete user management system. Including Postgres' Row Level Security for fine-grained access control.

Everything you need
for user authentication

Social logins, email/password, magic links, phone auth, and more — with enterprise-grade security built on Postgres' Row Level Security.

All the social providers

Add social logins with one click. Google, Facebook, GitHub, Azure (Microsoft), GitLab, Twitter, Discord, and many more.

Fully integrated

Auth without any external services. Built-in authentication, authorization, and user management.

Own your data

User data stored in your Supabase database. No third-party privacy concerns. Host in 17+ locations.

Supabase is not only super easy to get started, but also provides all the backend solutions we require as we continue to grow. The auth system just works out of the box.

Alfred LuaCofounder of Pebblely

Enterprise ready
security at every level

Multi-Factor Authentication

  • Time-based one-time passwords (TOTP)
  • Works with any authenticator app
  • Enforce MFA for specific user roles
  • Built-in enrollment and challenge flows

Enterprise SSO

  • SAML 2.0 support for identity providers
  • Connect to Azure AD, Okta, and more
  • Automatic user provisioning on sign-in
  • Manage SSO from the Dashboard or API

Custom OIDC Providers

  • OpenID Connect support for any identity provider
  • Connect to Auth0, Keycloak, Amazon Cognito, and more
  • PKCE security by default
  • Configure providers from the Dashboard or API

Simple APIs
powerful libraries

APIs that you can understand. With powerful libraries that work on client and server-side applications.

// Sign up with email and password
const { data, error } = await supabase.auth.signUp({
  email: 'user@example.com',
  password: 'secure-password',
})
Documentation

User permissions
without the middleware

Build authorization rules with Postgres Row Level Security — control who can create, edit, and delete specific rows in your database. No additional servers required.

-- 1. Create table
create table profiles (
  id serial primary key,
  name text
);

-- 2. Enable RLS
alter table profiles enable row level security;

-- 3. Create Policy
create policy "Public profiles are viewable by everyone."
on profiles for select
using ( true );
Documentation

Build in a weekend, scale to millions