38980-vm/app-9w9pd00g5j41/CLERK_JWT_FIX_QUICK.md
2026-03-04 18:25:09 +00:00

1.6 KiB
Raw Permalink Blame History

Clerk JWT Fix - Hızlı Referans

Uygulanan Değişiklikler

1. Migration 00093: Profiles INSERT Policy

CREATE POLICY "Allow profile creation with clerk_user_id"
  ON profiles FOR INSERT
  TO public
  WITH CHECK (
    clerk_user_id IS NOT NULL
    AND clerk_user_id <> ''
    AND email IS NOT NULL
  );

Ne Yapar:

  • Anon role ile profil oluşturulabilir
  • clerk_user_id ve email zorunlu
  • Güvenlik korunur

2. Migration 00094: Profiles UPDATE Policy

CREATE POLICY "Allow profile update with email match"
  ON profiles FOR UPDATE
  TO public
  USING (
    email IS NOT NULL
    AND (clerk_user_id IS NULL OR clerk_user_id = '')
  )
  WITH CHECK (
    clerk_user_id IS NOT NULL
    AND clerk_user_id <> ''
  );

Ne Yapar:

  • Email ile profil bulunup clerk_user_id bağlanabilir
  • Sadece henüz bağlanmamış profiller güncellenebilir
  • Güvenlik korunur

🎯 Sonuç

Şimdi Çalışıyor

  • Yeni kullanıcı kaydı
  • Mevcut profil bağlama
  • Clerk webhook
  • useAuth hook

Güvenlik

  • clerk_user_id zorunlu
  • email zorunlu
  • Rastgele insert önlenir
  • Sadece bağlanmamış profiller güncellenebilir

📌 Önerilen Adım

Clerk Dashboard'da Supabase JWT Template oluşturun:

  1. Clerk Dashboard → JWT Templates
  2. Template adı: supabase
  3. Signing key: Supabase JWT Secret
  4. Lifetime: 3600

Neden?

  • Daha güvenli
  • authenticated role özellikleri
  • Tüm RLS politikaları normal çalışır

📚 Detaylı Bilgi

Detaylııklama için: CLERK_JWT_FIX.md