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

72 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Clerk JWT Fix - Hızlı Referans
## ✅ Uygulanan Değişiklikler
### 1. Migration 00093: Profiles INSERT Policy
```sql
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
```sql
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](https://dashboard.clerk.com) → 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](./CLERK_JWT_FIX.md)