From 8baee7e2546d252e9a0d1b9e8e35f506ef904121 Mon Sep 17 00:00:00 2001 From: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com> Date: Mon, 31 Mar 2025 13:01:07 +0200 Subject: [PATCH] blog: lw14 clerk tpa and pricing changes (#34562) * blog: lw14 clerk tpa and pricing changes * fix: author name * fix: update date to 2025-03-31 in blog post * fix: update rss * fix: add launch-week category * format * add clerk tpa diagram * images --------- Co-authored-by: Stojan Dimitrovski --- .../_blog/2025-03-31-clerk-tpa-pricing.mdx | 65 ++++++++++++++++++ .../clerk-tpa-diagram.png | Bin 0 -> 43164 bytes .../clerk-tpa-pricing-og.png | Bin 0 -> 5745 bytes .../clerk-tpa-pricing-thumb.png | Bin 0 -> 4415 bytes apps/www/public/rss.xml | 9 ++- 5 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 apps/www/_blog/2025-03-31-clerk-tpa-pricing.mdx create mode 100644 apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-diagram.png create mode 100644 apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-pricing-og.png create mode 100644 apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-pricing-thumb.png diff --git a/apps/www/_blog/2025-03-31-clerk-tpa-pricing.mdx b/apps/www/_blog/2025-03-31-clerk-tpa-pricing.mdx new file mode 100644 index 00000000000..95a12281995 --- /dev/null +++ b/apps/www/_blog/2025-03-31-clerk-tpa-pricing.mdx @@ -0,0 +1,65 @@ +--- +title: 'Supabase Auth: Bring Your Own Clerk' +description: Use Clerk with Supabase via official third-party auth support +categories: + - product + - launch-week +tags: + - launch-week + - auth +date: '2025-03-31' +toc_depth: 3 +author: stojan +image: lw14-clerk-tpa-pricing/clerk-tpa-pricing-og.png +thumb: lw14-clerk-tpa-pricing/clerk-tpa-pricing-thumb.png +--- + +Supabase is a modular platform. You can choose which products you use: one or all. Using Supabase Auth one way to add authentication to your application, but it’s not the only choice. This is why today we're expanding our [third-party auth integrations](https://supabase.com/docs/guides/auth/third-party/overview) to officially include [Clerk](https://clerk.com). + +![Clerk TPA diagram](/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-diagram.png) + +If you already have a Clerk instance, just visit Clerk’s [Connect with Supabase](https://dashboard.clerk.com/setup/supabase) page to get it set up in a few clicks. + +Register your instance's domain [in the Supabase Dashboard](https://supabase.com/dashboard/project/_/auth/third-party) or in the CLI: + +```toml +[auth.third_party.clerk] +enabled = true +domain = "example.clerk.accounts.dev" +``` + +In your JavaScript app all you need to do is write the following code: + +```tsx +import { createClient } from '@supabase/supabase-js' + +const SUPABASE_URL = 'https://.supabase.co' +const SUPABASE_ANON_KEY = '' + +const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, { + accessToken: () => { + return Clerk.session?.getToken() + }, +}) +``` + +[Read the docs](https://supabase.com/docs/guides/auth/third-party/clerk) on how to set up your app in Flutter or Swift (iOS), and how to use Postgres row-level security (RLS) policies. + +Some of you already know, but using Clerk with Supabase was [already possible](https://supabase.com/partners/integrations/clerk). It wasn't ideal though. Sharing the project's secret (not great for security) and JWT templates from Clerk were odd requirements. This new integration does not suffer from the same flaws. Now you can enjoy better security, and the same developer experience you’ve come to expect from all Supabase products. + +## Third-Party Auth is now a lot cheaper + +One more thing. Today we're making third-party auth cheaper. Third-party auth providers with Supabase now has pricing parity with Supabase Auth. This means up to 50,000 MAU on the Free plan, or 100,000 MAU on the Pro plan and $0.00325 per MAU above that number. + +| | Free Plan | Pro Plan | +| ---------- | ---------------- | --------------------- | +| Previously | 50 MAUs included | 50,000 MAUs included | +| Now | 50 MAUs included | 100,000 MAUs included | + +## Get started today + +Supabase Auth makes it easy to implement authentication and authorization in your app. We provide client SDKs and API endpoints to help you create and manage users. + +- [Read the documentation](https://supabase.com/docs/guides/auth) for Supabase Auth +- [Learn how to use Clerk with Supabase](https://supabase.com/docs/guides/auth/third-party/clerk) +- [Sign up for Supabase](https://supabase.com/dashboard/sign-up) and get started today diff --git a/apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-diagram.png b/apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..7551f22bbccf5497153aab11c4b2072b9d1ee899 GIT binary patch literal 43164 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 Cp4f;0 literal 0 HcmV?d00001 diff --git a/apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-pricing-thumb.png b/apps/www/public/images/blog/lw14-clerk-tpa-pricing/clerk-tpa-pricing-thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..3063a6751441c21af67d0bd62ed24cd921811868 GIT binary patch literal 4415 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://supabase.com Latest news from Supabase en - Sat, 29 Mar 2025 00:00:00 -0700 + Mon, 31 Mar 2025 00:00:00 -0700 + https://supabase.com/blog/clerk-tpa-pricing + Supabase Auth: Bring Your Own Clerk + https://supabase.com/blog/clerk-tpa-pricing + Use Clerk with Supabase via official third-party auth support + Mon, 31 Mar 2025 00:00:00 -0700 + + https://supabase.com/blog/postgres-language-server Postgres Language Server: Initial Release https://supabase.com/blog/postgres-language-server