Clerk is a developer-first authentication and user management solution. It provides pre-built React components and hooks for sign-in, sign-up, user profile, and organization management. Clerk is designed to be easy to use and customize, and can be dropped into any React or Next.js application.
Supabase is an open-source, dedicated PostgreSQL database, trusted by millions of developers.
Integrating Supabase with Clerk gives you the benefits of using a Supabase database while leveraging Clerk's authentication, prebuilt components, and webhooks. To get the most out of Supabase with Clerk, you must implement custom Row Level Security (RLS) policies.
After following the Clerk + Supabase integration guide, you will have learned how to:
- Enable the Supabase integration on your Clerk instance
- Create RLS policies that restrict access to data based on the user's Clerk ID. This way, users can only access data that belongs to them.
- Configure Clerk as a Supabase third-party auth provider
- Use Clerk session tokens with Supabase's third-party auth provider to authenticate queries in your Next.js app
Easily deploy the template to Vercel with the button below. You will need to set the required environment variables in the Vercel dashboard.
git clone https://github.com/clerk/clerk-supabase-nextjsTo run the example locally, you need to:
-
Sign up for a Clerk account at https://clerk.com.
-
Go to the Clerk dashboard and create an application.
-
Set the required Clerk environment variables as shown in the example
env.local.examplefile. -
pnpm installthe required dependencies. -
Follow the Clerk + Supabase integration guide to set up your Supabase database.
-
pnpm run devto launch the development server.
To learn more about Clerk and Next.js, check out the following resources:
Contact or email support@clerk.com us for support.
You can discuss ideas and meet others from the community in our Discord.
You can also follow @clerk on X for updates.
