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 JWTs to authenticate Supabase 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. -
npm installthe required dependencies. -
Follow the Clerk + Supabase integration guide to set up your Supabase database.
-
npm run devto launch the development server.
To learn more about Clerk and Next.js, check out the following resources:
Feel free to create a support thread on our Discord. Our support team will be happy to assist you in the #support channel.
You can discuss ideas, ask questions, and meet others from the community in our Discord.
If you prefer, you can also find support through our Twitter, or you can email us!
