6.2 KiB
🔧 Clerk Anahtarı Sorunu - Çözüm Rehberi
Sorun
Admin Settings sayfasından Clerk anahtarını girdiniz ama "Kimlik Doğrulama Yapılandırılmamış" uyarısı hala görünüyor.
Neden Oluyor?
- Database kaydetme sorunu: RLS (Row Level Security) politikaları nedeniyle anahtar database'e kaydedilemiyor olabilir
- Sayfa yenilenmedi: Anahtar kaydedildi ama sayfa düzgün yenilenmedi
- Admin yetkisi yok: Kullanıcınız admin rolüne sahip olmayabilir
✅ Çözüm 1: .env Dosyasına Doğrudan Ekleme (ÖNERİLEN)
Bu yöntem en güvenilir ve hızlı çözümdür.
Adımlar:
-
Proje kök dizinindeki
.envdosyasını açın- Dosya yolu:
/workspace/app-9w9pd00g5j41/.env
- Dosya yolu:
-
Clerk anahtarınızı ekleyin
# Mevcut satırı bulun (18. satır): VITE_CLERK_PUBLISHABLE_KEY= # Anahtarınızı ekleyin: VITE_CLERK_PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -
Dosyayı kaydedin (Ctrl+S veya Cmd+S)
-
Development server'ı yeniden başlatın
# Terminal'de: # 1. Mevcut server'ı durdurun (Ctrl+C) # 2. Yeniden başlatın: npm run dev -
Tarayıcıyı yenileyin (Ctrl+Shift+R veya Cmd+Shift+R)
✅ Sonuç: Artık "Kimlik Doğrulama Yapılandırılmamış" uyarısı kaybolmalı ve Clerk login formu görünmeli.
✅ Çözüm 2: Database'e Manuel Ekleme
Eğer .env dosyasını kullanmak istemiyorsanız, database'e manuel olarak ekleyebilirsiniz.
Adımlar:
-
Supabase Dashboard'a gidin
-
SQL Editor'ü açın
- Sol menüden "SQL Editor" seçeneğine tıklayın
-
Aşağıdaki SQL komutunu çalıştırın
-- Clerk anahtarını ekle INSERT INTO site_settings (key, value) VALUES ('clerk_publishable_key', 'pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value, updated_at = NOW();Not:
pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXyerine kendi anahtarınızı yazın! -
Run butonuna tıklayın
-
Uygulamayı yenileyin
- Tarayıcıda Ctrl+Shift+R veya Cmd+Shift+R
✅ Sonuç: Anahtar database'e kaydedildi ve uygulama yeniden yüklendiğinde algılanacak.
✅ Çözüm 3: Admin Yetkisi Kontrolü
Eğer yukarıdaki çözümler işe yaramadıysa, admin yetkisi sorunu olabilir.
Kontrol:
-
Supabase Dashboard > SQL Editor
-
Kullanıcınızın admin olup olmadığını kontrol edin
-- Tüm kullanıcıları ve rollerini listele SELECT id, email, username, role, clerk_user_id FROM profiles ORDER BY created_at DESC; -
Eğer rolünüz 'admin' değilse, güncelleyin
-- Email adresinizi kullanarak admin yapın UPDATE profiles SET role = 'admin' WHERE email = 'sizin@email.com';Not:
sizin@email.comyerine kendi email adresinizi yazın! -
Çıkış yapıp tekrar giriş yapın
✅ Sonuç: Artık admin yetkileriniz var ve Settings sayfasından anahtar kaydedebilirsiniz.
🔍 Doğrulama
Hangi çözümü kullandıysanız, şu adımlarla doğrulayın:
1. Console Loglarını Kontrol Edin
Tarayıcıda F12 > Console sekmesi
Görmek istediğiniz:
✅ Found Clerk key in site_settings
veya
✅ Clerk key loaded from environment
Görmek istemediğiniz:
⚠️ No Clerk Publishable Key found in database or environment.
2. Clerk Formu Görünüyor mu?
- Ana sayfada "Giriş Yap" butonuna tıklayın
- Clerk login formu görünmeli (email input, Continue butonu)
- "Kimlik Doğrulama Yapılandırılmamış" uyarısı OLMAMALI
3. Database Kontrolü (Opsiyonel)
-- Anahtarın database'de olup olmadığını kontrol et
SELECT key, value, updated_at
FROM site_settings
WHERE key = 'clerk_publishable_key';
🐛 Hala Çalışmıyor mu?
Adım 1: Cache Temizleme
# Terminal'de:
rm -rf node_modules/.vite
npm run dev
Adım 2: Browser Cache Temizleme
1. Tarayıcıda F12 > Application sekmesi
2. "Clear storage" > "Clear site data"
3. Sayfayı yenileyin (Ctrl+Shift+R)
Adım 3: Anahtarın Formatını Kontrol Edin
✅ Doğru format: pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
✅ Doğru format: pk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
❌ Yanlış format: sk_test_... (Bu Secret Key, Publishable Key değil!)
❌ Yanlış format: whsec_... (Bu Webhook Secret!)
Adım 4: Anahtarın Geçerliliğini Test Edin
- Clerk Dashboard'a gidin: https://dashboard.clerk.com/
- API Keys sayfasına gidin
- Publishable Key'in aktif olduğunu kontrol edin
- Anahtarı yeniden kopyalayın (boşluk karakteri olmamalı!)
📋 Hızlı Kontrol Listesi
Aşağıdaki adımları sırayla kontrol edin:
- Clerk anahtarı
pk_test_veyapk_live_ile başlıyor - .env dosyasında
VITE_CLERK_PUBLISHABLE_KEY=satırına anahtar eklendi - .env dosyası kaydedildi
- Development server yeniden başlatıldı (
npm run dev) - Tarayıcı cache temizlendi (Ctrl+Shift+R)
- Console'da hata yok
- "Kimlik Doğrulama Yapılandırılmamış" uyarısı kayboldu
- Clerk login formu görünüyor
💡 Önerilen Yöntem
Development için: .env dosyası (Çözüm 1)
- ✅ En hızlı
- ✅ En güvenilir
- ✅ Server restart ile hemen çalışır
Production için: Database (Çözüm 2)
- ✅ Dinamik güncelleme
- ✅ Admin panel'den yönetilebilir
- ✅ Birden fazla environment için uygun
🔗 İlgili Dokümantasyon
- Clerk Kurulum: CLERK_SETUP_GUIDE.md
- Hızlı Referans: CLERK_QUICK_REFERENCE.md
- Sorun Giderme: CLERK_TROUBLESHOOTING.md
- Tüm Rehberler: CLERK_DOCUMENTATION_INDEX.md
📞 Destek
Eğer hala sorun yaşıyorsanız:
- Console loglarını kontrol edin (F12 > Console)
- Network sekmesini kontrol edin (F12 > Network)
- Supabase logs'u kontrol edin (Supabase Dashboard > Logs)
- Hata mesajlarını not edin ve dokümantasyona bakın
Son Güncelleme: 2026-02-26 Versiyon: 1.0