11 KiB
11 KiB
📸 Clerk Kurulum - Görsel Adım Adım Rehber
Bu rehber, Clerk API anahtarlarını almanız için ekran görüntüleri açıklamaları ile adım adım yol gösterir.
🎯 Hedef
3 adet API anahtarı alacağız:
- ✅
VITE_CLERK_PUBLISHABLE_KEY- Frontend için - ✅
CLERK_SECRET_KEY- Backend için - ✅
CLERK_WEBHOOK_SECRET- Webhook için
📋 Adım 1: Clerk Hesabı Oluşturma
1.1 Clerk.com'a Git
- URL: https://clerk.com/
- Ekranda görecekleriniz:
- Üst sağda "Sign In" ve "Sign Up" butonları
- Ana sayfada "Start building for free" butonu
1.2 Sign Up
- "Sign Up" butonuna tıklayın
- Ekranda görecekleriniz:
- Email adresi girme alanı
- Google ile giriş seçeneği
- GitHub ile giriş seçeneği
1.3 Email Doğrulama
- Email adresinizi girin ve devam edin
- Ekranda görecekleriniz:
- "Check your email" mesajı
- Doğrulama kodu giriş alanı
- Email'inizdeki 6 haneli kodu girin
📋 Adım 2: Yeni Uygulama Oluşturma
2.1 Dashboard'a Giriş
- Email doğrulaması sonrası otomatik olarak dashboard'a yönlendirileceksiniz
- Ekranda görecekleriniz:
- "Create your first application" başlığı
- "Application name" input alanı
- Authentication yöntemleri seçenekleri
2.2 Uygulama Bilgilerini Girin
Application name: LetsGoCappadocia
2.3 Authentication Yöntemlerini Seçin
Önerilen seçenekler:
- ✅ Email (varsayılan olarak seçili)
- ✅ Google (opsiyonel - kullanıcılar Google ile giriş yapabilir)
- ✅ Phone (opsiyonel - SMS ile doğrulama)
Not: Email mutlaka seçili olmalı!
2.4 Uygulamayı Oluştur
- "Create application" butonuna tıklayın
- Ekranda görecekleriniz:
- "Your application is ready!" mesajı
- Otomatik olarak API Keys sayfasına yönlendirileceksiniz
📋 Adım 3: Publishable Key Alma
3.1 API Keys Sayfası
- Dashboard'da sol menüden "API Keys" seçeneğine tıklayın
- Ekranda görecekleriniz:
- "Publishable key" bölümü (üstte)
- "Secret keys" bölümü (altta)
- Her iki bölümde de "Copy" butonları
3.2 Publishable Key'i Kopyala
- "Publishable key" bölümünü bulun
- Anahtarın formatı:
pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - "Copy" butonuna tıklayın
- ✅ Kopyalandı! (Clipboard'a kaydedildi)
3.3 .env Dosyasına Ekle
# Proje kök dizinindeki .env dosyasını açın
# Aşağıdaki satırı ekleyin:
VITE_CLERK_PUBLISHABLE_KEY=pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Dosya yolu: /workspace/app-9w9pd00g5j41/.env
📋 Adım 4: Secret Key Alma
4.1 Secret Keys Bölümü
- Aynı API Keys sayfasında aşağı kaydırın
- "Secret keys" bölümünü bulun
- Ekranda görecekleriniz:
- Gizlenmiş anahtar:
sk_test_•••••••••••••••••••••••••••••••• - "Show" butonu
- "Copy" butonu
- Gizlenmiş anahtar:
4.2 Secret Key'i Görünür Yap
- "Show" butonuna tıklayın
- ⚠️ Güvenlik Uyarısı: Bu anahtar gizli tutulmalıdır!
- Ekranda görecekleriniz:
- Tam anahtar:
sk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Tam anahtar:
4.3 Secret Key'i Kopyala
- "Copy" butonuna tıklayın
- ✅ Kopyalandı!
4.4 Supabase'e Ekle
- Supabase Dashboard'a git: https://supabase.com/dashboard
- Projeyi seç:
vtztatcglebrnvikvntf - Sol menüden "Edge Functions" seçeneğine tıkla
- "Manage secrets" butonuna tıkla
- Ekranda görecekleriniz:
- "Add new secret" formu
- Name ve Value input alanları
- Secret ekle:
- Name:
CLERK_SECRET_KEY - Value: Kopyaladığınız secret key (sk_test_...)
- "Add secret" butonuna tıkla
- Name:
- ✅ Secret eklendi!
📋 Adım 5: Webhook Oluşturma
5.1 Webhooks Sayfasına Git
- Clerk Dashboard'da sol menüden "Webhooks" seçeneğine tıklayın
- Ekranda görecekleriniz:
- "Add Endpoint" butonu
- Mevcut webhook'lar listesi (boş olabilir)
5.2 Yeni Webhook Ekle
- "Add Endpoint" butonuna tıklayın
- Ekranda görecekleriniz:
- "Endpoint URL" input alanı
- "Subscribe to events" bölümü
- "Create" butonu
5.3 Webhook URL'ini Gir
https://vtztatcglebrnvikvntf.supabase.co/functions/v1/clerk-webhook
Not: Bu URL'yi tam olarak kopyalayın, hata yapmayın!
5.4 Event'leri Seç
"Subscribe to events" bölümünde şu event'leri seçin:
- ✅
user.created- Yeni kullanıcı oluşturulduğunda - ✅
user.updated- Kullanıcı güncellendiğinde - ✅
user.deleted- Kullanıcı silindiğinde
Nasıl seçilir:
- Her event'in yanındaki checkbox'ı işaretleyin
- Veya "Select all user events" seçeneğini kullanın
5.5 Webhook'u Oluştur
- "Create" butonuna tıklayın
- Ekranda görecekleriniz:
- "Webhook created successfully" mesajı
- Webhook detay sayfası
📋 Adım 6: Webhook Secret Alma
6.1 Webhook Detay Sayfası
- Webhook oluşturulduktan sonra otomatik olarak detay sayfasına yönlendirileceksiniz
- Ekranda görecekleriniz:
- Webhook URL'i
- Event listesi
- "Signing Secret" bölümü (önemli!)
6.2 Signing Secret'ı Bul
- Sayfada aşağı kaydırın
- "Signing Secret" bölümünü bulun
- Ekranda görecekleriniz:
- Gizlenmiş secret:
whsec_•••••••••••••••••••••••••••••••• - "Reveal" butonu
- "Copy" butonu
- Gizlenmiş secret:
6.3 Signing Secret'ı Görünür Yap
- "Reveal" butonuna tıklayın
- Ekranda görecekleriniz:
- Tam secret:
whsec_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Tam secret:
6.4 Signing Secret'ı Kopyala
- "Copy" butonuna tıklayın
- ✅ Kopyalandı!
6.5 Supabase'e Ekle
- Supabase Dashboard'a git: https://supabase.com/dashboard
- Projeyi seç:
vtztatcglebrnvikvntf - Sol menüden "Edge Functions" seçeneğine tıkla
- "Manage secrets" butonuna tıkla
- Secret ekle:
- Name:
CLERK_WEBHOOK_SECRET - Value: Kopyaladığınız webhook secret (whsec_...)
- "Add secret" butonuna tıkla
- Name:
- ✅ Secret eklendi!
📋 Adım 7: Doğrulama
7.1 Frontend Doğrulama
Terminal'de:
# Development server'ı başlat
npm run dev
Tarayıcıda:
- URL'yi aç: http://localhost:5173
- Sign In sayfasına git
- Ekranda görecekleriniz:
- Clerk login formu
- Email input alanı
- "Continue" butonu
- Google/Phone login seçenekleri (eğer aktifse)
✅ Başarılı! Clerk formu görünüyorsa frontend doğru yapılandırılmış.
❌ Hata varsa:
- Browser console'u açın (F12)
- Hata mesajlarını kontrol edin
.envdosyasındaVITE_CLERK_PUBLISHABLE_KEYdoğru mu kontrol edin
7.2 Backend Doğrulama
- Admin olarak giriş yapın
- Admin Panel'e gidin
- "Clerk Diagnostics" sayfasına gidin
- "Test Clerk Connection" butonuna tıklayın
- Ekranda görecekleriniz:
- "Connection successful" mesajı (yeşil)
- Clerk API version bilgisi
- Test sonuçları
✅ Başarılı! Backend doğru yapılandırılmış.
7.3 Webhook Doğrulama
Clerk Dashboard'da:
- Webhooks sayfasına git
- Oluşturduğunuz webhook'u seç
- "Testing" sekmesine tıkla
- Ekranda görecekleriniz:
- "Send test event" butonu
- Event type seçenekleri
- Test event gönder:
- Event type:
user.created - "Send test event" butonuna tıkla
- Event type:
- Ekranda görecekleriniz:
- Response status:
200 OK(başarılı) - Response body
- Request/Response detayları
- Response status:
✅ Başarılı! Webhook çalışıyor.
Supabase'de Kontrol:
- Supabase Dashboard'a git
- Edge Functions > clerk-webhook > Logs
- Ekranda görecekleriniz:
- Webhook log kayıtları
- "Handling event user.created" mesajı
- Başarılı işlem logları
📋 Adım 8: Test Kullanıcı Oluşturma
8.1 Uygulamada Kayıt Ol
- Uygulamayı aç: http://localhost:5173
- "Sign Up" butonuna tıkla
- Email adresinizi girin
- Doğrulama kodunu girin (email'inizde)
- Şifre oluşturun
- "Create account" butonuna tıkla
8.2 Profil Kontrolü
- Supabase Dashboard'a git
- Table Editor > profiles
- Ekranda görecekleriniz:
- Yeni oluşturulan profil kaydı
clerk_user_idalanı doluemailalanı doluusernamealanı dolu
✅ Başarılı! Webhook çalıştı ve profil oluşturuldu.
✅ Kurulum Tamamlandı!
Tüm adımları tamamladıysanız:
- ✅ Clerk hesabı oluşturuldu
- ✅ Uygulama oluşturuldu
- ✅ Publishable key yapılandırıldı
- ✅ Secret key Supabase'e eklendi
- ✅ Webhook oluşturuldu
- ✅ Webhook secret Supabase'e eklendi
- ✅ Frontend doğrulandı
- ✅ Backend doğrulandı
- ✅ Webhook doğrulandı
- ✅ Test kullanıcı oluşturuldu
🎉 Tebrikler! Clerk entegrasyonu hazır.
🔗 Önemli Linkler
Clerk
- Dashboard: https://dashboard.clerk.com/
- API Keys: https://dashboard.clerk.com/last-active?path=api-keys
- Webhooks: https://dashboard.clerk.com/last-active?path=webhooks
- Users: https://dashboard.clerk.com/last-active?path=users
Supabase
- Dashboard: https://supabase.com/dashboard/project/vtztatcglebrnvikvntf
- Edge Functions: https://supabase.com/dashboard/project/vtztatcglebrnvikvntf/functions
- Table Editor: https://supabase.com/dashboard/project/vtztatcglebrnvikvntf/editor
Dokümantasyon
- Clerk Docs: https://clerk.com/docs
- Clerk React: https://clerk.com/docs/references/react/overview
- Clerk Webhooks: https://clerk.com/docs/integrations/webhooks
💡 İpuçları
Anahtar Formatları
# Publishable Key (Frontend)
pk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Test environment
pk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Production environment
# Secret Key (Backend)
sk_test_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Test environment
sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Production environment
# Webhook Secret
whsec_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Her webhook için benzersiz
Güvenlik
- ⚠️ Secret Key'i asla frontend'de kullanmayın
- ⚠️ Webhook Secret'ı asla paylaşmayın
- ⚠️ Anahtarları Git'e commit etmeyin
- ✅ Environment variables kullanın
- ✅ Development ve production anahtarlarını ayırın
Sorun Giderme
- Anahtar çalışmıyorsa: Kopyalarken boşluk karakteri eklenmiş olabilir
- Webhook çalışmıyorsa: URL'yi kontrol edin, Edge Function deploy edilmiş mi?
- Profil oluşmuyorsa: Supabase logs'u kontrol edin, RLS policies doğru mu?
Son Güncelleme: 2026-02-26 Versiyon: 1.0