FixVibe

// docs / baas security / clerk hardening

Lis tcheke sekirite Clerk: 20 eleman

Clerk manyen auth, sesyon, ak òganizasyon pou aplikasyon ou — ki vle di yon entegrasyon Clerk move konfigire se yon kontoune-auth, yon vektè fiksasyon-sesyon, oswa yon chemen koule-org. Lis tcheke sa a se yon odit 20-eleman atravè kle, konfig sesyon, webhooks, òganizasyon, modèl JWT, ak monitè kontinyèl. Zouti kodaj IA kable Clerk vit ak default rezonab; lis sa a kenbe eleman yo kite sou tab la.

Pou kontèks sou poukisa move konfigirasyon nan kouch auth se yon pwen fèb zouti-IA, gade Poukisa zouti kodaj IA kite twou sekirite. Pou lis tcheke paralèl sou Auth0, gade Lis tcheke sekirite Auth0.

Kle anviwònman ak lis-pèmèt orijin

Clerk bay de kle distenk pa pwojè. Mèlanje yo oswa fè yo koule se premye mòd echèk la.

  1. Itilize kle piblikab (pk_live_* nan pwodiksyon, pk_test_* nan dev) nan navigatè a; itilize kle sekrè (sk_live_* / sk_test_*) sou sèvè a sèlman. Kle piblikab la ansekirite nan NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY; kle sekrè a pa janm dwe pote yon prefiks env piblik epi pa janm dwe parèt nan yon konpozan kliyan.
  2. Verifye aplikasyon pwodiksyon an itilize pk_live_*, pa pk_test_*. Sit tès pèmèt adrès imèl ki pa verifye ak MFA dezaktive — voye mòd tès nan pwodiksyon se yon kontoune-auth.
  3. Konfigire orijin ki pèmèt nan Dashboard Clerk la. Settings → Domains → Allowed origins dwe liste domèn pwodiksyon ou egzakteman. Lis orijin vid oswa kat kite atakè kreye frontend Clerk vye ki pale ak backend ou.
  4. Woule kle sekrè a sou nenpòt depa oswa koule sispèk. Dashboard → API Keys → Reset. Ansyen kle anile; redeplwaye kòd bò-sèvè ak nouvo valè a anvan rotasyon.

Konfigirasyon sesyon

Ekspirasyon sesyon ak limit tan inaktif yo se diferans ant yon sesyon vòlè ki yon ensidan 10-minit ak yon 30-jou.

  1. Mete limit tan inaktivite sesyon nan 30 minit oswa mwens pou aplikasyon SaaS k ap manyen done sansib. Dashboard → Sessions → Inactivity timeout. Aplikasyon nivo-bankè ta dwe itilize 5-10 minit; SaaS estanda 30-60 minit; aplikasyon konsomatè 1-7 jou. Default se 7 jou.
  2. Aktive revokasyon sesyon sou chanjman modpas, chanjman imèl, ak enskripsyon MFA. Dashboard → Sessions → Revoke on. Sa yo se evènman sekirite inisye-itilizatè; sesyon ki egziste sou lòt aparèy ta dwe touye.
  3. Verifye sesyon bò-sèvè sou chak wout pwoteje, pa sèlman nan enskripsyon. Nan Next.js: const { userId } = await auth(); nan yon konpozan sèvè / wout API li JWT a nan cookie a epi valide li. Pa janm fye yon tcheke cookie-sèlman.
  4. Mete SameSite=Lax (default) oswa Strict sou cookie sesyon an. Verifye nan DevTools → Application → Cookies. SameSite=None se yon vektè CSRF — pa janm itilize li sof si ou eksplisitman konfigire yon konfigirasyon auth kwa-domèn.

Verifikasyon webhook

Webhooks Clerk tire sou evènman sik lavi itilizatè (kreye, mete ajou, efase, session.ended). Yo se mekanis sinkronizasyon pou baz done ou — epi yon webhook fonyen se yon primitif ekriti-baz done.

  1. Verifye siyati Svix sou chak webhook. Webhooks Clerk siyen pa Svix. Itilize new Webhook(secret).verify(body, headers). Rejte ak 401 si verifikasyon echwe.
  2. Estoke sekrè webhook nan yon varyab anviwònman, pa janm nan kòd. Sekrè a woule sou chak rejenerasyon Dashboard — deplwaman ou dwe li li nan env, pa nan yon konstan.
  3. Idempotans sou chak manyè. Livrezon webhook kapab repete. Itilize antèt svix-id kòm yon kle prensipal nan yon tab webhook_events pou dediplike. Vlope chanjman eta a ak ensèsyon idempotans yo nan menm tranzaksyon.
  4. Sou user.deleted, di-efase oswa anonim PII anndan 24 èdtan. GDPR / CCPA mande li. Odit chemen efase a: ki tab ki kenbe done itilizatè sa a? Itilize FK ON DELETE CASCADE kote ou kapab.

Òganizasyon ak pèmisyon

Si ou itilize Òganizasyon Clerk, fwontyè org la se izolasyon lokatè ou. Chak demand bò-sèvè dwe filtre pa li.

  1. Sou chak wout API, li tou de userId ak orgId soti nan auth() epi filtre demand baz done pa tou de. WHERE org_id = $orgId AND user_id = $userId. Pa janm fye yon org_id soti nan kò demand lan.
  2. <strong>Use Clerk role checks for privileged operations, not boolean checks against the user object.</strong> <code>has({ role: 'org:admin' })</code> reads the role from the verified JWT. A user can spoof a boolean on a stale client object; they cannot spoof a JWT claim.
  3. Teste izolasyon kwa-org ak de vrè kont org. Kreye Org A, popilarize done, konekte nan Org B nan yon lòt navigatè, eseye li done Org A via API a. Repons dwe 403 oswa 404.

Modèl JWT ak entegrasyon ekstèn

Modèl JWT pouse idantite Clerk nan Supabase, Firebase, ak lòt sèvis dèyè. Modèl move konfigire pataje twòp reklamasyon oswa ekspoze done ou pa t vle.

  1. Pou chak modèl JWT, liste chak reklamasyon epi konfime li nesesè. Dashboard → JWT Templates. Yon modèl ki voye email ak phone nan Supabase ekspoze PII bay nenpòt moun ki li JWT a nan navigatè a.
  2. Mete ekspirasyon kout sou modèl JWT itilize pou apèl bò-kliyan dèyè. 60 segonn pou demand API dèyè se estanda. JWT pi lontan-viv vòlè epi rejwe.
  3. Verifye reklamasyon odyans (aud) sou bò resepsyon. Supabase, Firebase, elatriye dwe tcheke ke aud koresponn ak idantifyan sèvis ki espere. San sa, yon JWT bay pou sèvis A kapab otantifye sèvis B.

Monitè operasyonèl

Auth se sous log siyal-pi-wo ou genyen. Gade li.

  1. Alète sou pik echèk-konekte pa IP / pa kont. Yon to echèk 50× nòmal se yon atak boure-kalifikasyon. Clerk emisyon evènman sa yo nan webhooks; voye yo nan SIEM ou.
  2. Revizyon trimestriyèl deriv paramèt sesyon ak sit. Default chanje pandan Clerk mete ajou; "ansyen konfigirasyon" silansyezman vin move sou tan. Diff ekspòtasyon JSON Dashboard kont dènye kopi byen-konnen ou.

Etap pwochèn

Lanse yon eskanè FixVibe kont URL pwodiksyon ou — tcheke baas.clerk-auth0 drapo kle piblikab Clerk, kle tès nan pwodiksyon, ak kle sekrè pakèt. Pou lis tcheke ekivalan sou Auth0, gade Lis tcheke sekirite Auth0. Pou view parapli atravè founisè BaaS, li Eskanè move konfigirasyon BaaS.

// eskane sifas baas ou

Twouve tab ki louvri a anvan yon lòt moun fè li.

Mete yon URL pwodiksyon. FixVibe enimere founisè BaaS aplikasyon ou a pale ak yo, anprent pwen-fen piblik yo, epi rapòte sa yon kliyan ki pa otantifye kapab li oswa ekri. Gratis, san enstalasyon, san kat.

  • Nivo gratis — 3 eskanè / mwa, san kat enskripsyon.
  • Anprent BaaS pasif — pa bezwen verifikasyon domèn.
  • Supabase, Firebase, Clerk, Auth0, Appwrite, ak plis.
  • Pwòp ranjman IA sou chak dekouvèt — kole tounen nan Cursor / Claude Code.
Lanse yon eskanè BaaS gratis

pa gen enskripsyon ki nesesè

Lis tcheke sekirite Clerk: 20 eleman — Docs · FixVibe