İçeriğe atla
supastack
Dokümanlara göz atın

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/web/google-sign-in.md (or send Accept: text/markdown).

Google ile giriş ekleyin

Ücretsiz bir Google Cloud OAuth istemcisi oluşturun ve Google ile devam et'i uygulamaya bağlayın.

Başlangıç seviyesinde izlenecek yol

Ön koşullar: web uygulaması yerelde çalışıyor (5 dakikada yayınlayın) ve gerçek hesaplar için geçiş yapılmış bir veritabanı (Veritabanını kurun). Sıradan bir Google hesabı gerekiyor; buradaki her şey ücretsiz ve yaklaşık 10 dakika sürer.

Kısa terimler: OAuth, Google'ın kullanıcıyı Google'ın sayfasında oturum açtırdığı ve uygulamanıza bir kanıt verdiği standarttır. Google Cloud projesi, Google'ın konsolunda uygulamanızın kimlik bilgilerini tutan bir kapsayıcıdır. OAuth izin ekranı, Google'ın kullanıcıları geri göndermeden önce gösterdiği sayfadır. Client ID uygulamanızı Google'a tanıtır; client secret onun şifresidir ve sunucuda kalır.

1. Bir Google Cloud projesi oluşturun. 2. İzin ekranını yapılandırın. 3. Bir Web OAuth istemcisi oluşturup ID ve secret'ını kopyalayın. 4. Üç değeri apps/web/.env.local içine yapıştırın ve geliştirme sunucusunu yeniden başlatın.

Tüm ürün için tek proje yeterlidir: aynı Google Cloud projesi daha sonra Cloud Run dağıtımınızı barındırır ve mobil giriş aynı web arka ucu üzerinden akar — platform veya özellik başına ayrı bir istemci oluşturmazsınız.

Google Cloud projesini oluşturun

1. console.cloud.google.com adresini açın ve Google hesabınızla oturum açın.

2. Üst çubuktaki proje açılır menüsüne (Google Cloud logosunun yanında) tıklayın ve New Project'i seçin.

3. Bir ad verin — ürün adınız uygundur — ve Create'e tıklayın. Giriş kimlik bilgileri için kuruluş, kart veya faturalandırma hesabı gerekmez.

Beklenen: konsol yeni projeye yeniden yüklenir ve adı üst çubukta görünür. Dağıtım kılavuzuna ulaştığınızda başka bir tane oluşturmak yerine bu projeyi yeniden kullanın.

OAuth istemcisini oluşturun

1. APIs & Services → Credentials → + Create Credentials → OAuth client ID'yi açın.

2. Application type'ı Web application yapın ve supastack local gibi bir ad verin.

3. Authorized JavaScript origins altına http://localhost:3000 ekleyin. Authorized redirect URIs altına http://localhost:3000/api/auth/callback/google ekleyin — bu geri çağrı yolu kitin varsayılan kimlik doğrulama motoru Better Auth'a aittir: {APP_URL}/api/auth/callback/google.

4. Create'e tıklayın ve Client ID ile Client Secret'ı iletişim kutusundan kopyalayın. Bunları daha sonra istemcinin sayfasında yeniden açabilirsiniz, ancak şimdi kopyalamak bir adım kazandırır.

Üretim için ikinci bir Web istemcisi oluşturun (önerilir) veya bunu ekleyin: JavaScript origin https://yourdomain.com ve redirect URI https://yourdomain.com/api/auth/callback/google. Ortam başına ayrı istemciler tutmak, sızan yerel bir sırrın üretime ulaşamayacağı anlamına gelir.

Değerleri uygulamaya ekleyin

apps/web/.env.local dosyasını açın — Next.js kök .env yerine bu dosyayı okur — ve aşağıdaki üç satırı ayarlayın. AUTH_GOOGLE_ENABLED=true düğmeyi açar; istemci çifti Google Cloud istemcinizi tanımlar.

Client secret yalnızca sunucuya aittir: asla bir NEXT_PUBLIC_ veya EXPO_PUBLIC_ değişkeninde görünmemeli ve asla Git'e işlenmemelidir. Üretimde aynı üç adı bir env dosyası yerine ana bilgisayarınızın sır deposunda ayarlayın.

Düzenlemeden sonra geliştirme sunucusunu yeniden başlatın — ortam değişiklikleri yalnızca başlangıçta okunur.

# apps/web/.env.local
AUTH_GOOGLE_ENABLED=true
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

Doğrulayın ve sorun giderin

http://localhost:3000/auth adresini açın, Google düğmesine tıklayın, Google'ın izin ekranını tamamlayın ve uygulamanın oturum açmış olarak döndüğünü doğrulayın.

redirect_uri_mismatch, Google'da kayıtlı redirect URI'nin tam olarak eşleşmediği anlamına gelir — protokolü (http ve https), bağlantı noktasını ve yolu kontrol edin: /callback/google/ veya sondaki eğik çizgili bir varyant değil, /api/auth/callback/google ile bitmelidir.

Access blocked / has not completed the Google verification process, izin ekranının hâlâ Testing'de olduğu ve giriş yapan hesabın Test users altında listelenmediği anlamına gelir — Audience bölümünden ekleyin.

Google düğmesi eksikse veya .env.local dosyasını düzenledikten sonra giriş hâlâ başarısız oluyorsa geliştirme sunucusunu yeniden başlatın. Başlangıç bir değişken adı vererek başarısız olursa, bayrak tam istemci çifti olmadan etkindir.

Sık sorulan sorular

14 soru

supastack nedir?

supastack, YZ destekli SaaS ürünleri oluşturmak için modüler bir temeldir. Ortak altyapıyı bir araya getirir, böylece ürüne özgü özelliklere odaklanabilirsiniz.

Web ve mobil destekliyor mu?

Evet. supastack, web ve mobil deneyimler için başlangıç noktası olarak Next.js ve Expo uygulamaları içerir.

Hangi kimlik doğrulama dahil?

Better Auth; e-posta/parola, OTP ve sosyal girişi kapsar. Kişisel çalışma alanları hesapla birlikte sağlanır, böylece ürün kayıtları ilk günden itibaren sınırlı kalır.

YZ'yi nasıl destekliyor?

supastack; yapılandırılabilir çok sağlayıcılı YZ, kullanım takibi, bütçeler ve şifreli kendi-anahtarını-getir desteği içerir.

Abonelikler nasıl ele alınıyor?

Kit üzerine kurulu ürünler için Stripe faturalama, abonelikler ve yetkilendirmeler ücretli erişim temelini oluşturur. Sağlayıcı gizli anahtarları yalnızca sunucuda kalır.

Ürüne özgü kodum nerede durur?

Ürüne özgü özellikler ayrı bir kod tabanında kalırken ürün, supastack'in temel modüllerini yapılandırır ve entegre eder.

supastack fiyatlandırması nasıl çalışır?

Kit, ömür boyu güncellemeli tek seferlik bir satın alımdır: 249 $'a Tek Platform (geçici tanıtım fiyatı — normal fiyat 349 $ üzerinden 100 $ indirim) — Next.js (Web), Expo (iOS ve Android) veya Tauri (macOS ve Windows Masaüstü) seçiminiz — ya da tüm platformları ve tam monorepo'yu içeren 499 $'lık Tüm Platformlar Paketi (geçici tanıtım fiyatı — normal fiyat 599 $ üzerinden 100 $ indirim); ek geliştirici koltuğu başına 75 $. Kit aboneliği yok. Bu sitedeki ödeme, lisans anahtarınızı e-postayla teslim eder ve depo erişimi GitHub davetiyle sağlanır.

Çalışma alanları verilerimi nasıl sınırlar?

Kullanıcıya ait kayıtlar workspaceId ile sınırlanır. Kimlik, yetkilendirmeler, YZ kullanımı, faturalama olayları ve denetim kayıtları kişisel çalışma alanı sınırının içinde kalır.

Arka plan işleri nasıl çalışır?

Trigger.dev açık iş çalışma zamanıdır. JobRunner sözleşmesi yalnızca enqueue, status ve cancel vaat eder — iş akışı semantiği Trigger.dev'e özgü ve açık kalır.

E-posta, tanıtım yazılarından nasıl farklı?

İşlemsel e-posta, tamamlanma bildirimleri gibi ürün iş akışlarını kapsar. Soğuk tanıtım ve kampanyalar, bu kitin e-posta modülünün dışında kalan ürün konularıdır.

Mobil satın almalar nasıl çalışır?

Mobil uygulama RevenueCat ile yerel satın alma ve geri yükleme sunar; erişimi sunucunuz doğrular. Yayınlamadan önce mağaza hesaplarını yapılandırın ve cihaz testlerini tamamlayın. Web faturalandırması ayrı kalır.

YZ sağlayıcı anahtarları nerede durur?

Kendi-anahtarını-getir kimlik bilgileri şifrelidir ve yalnızca sunucuda kalır. Anahtarlar günlüklerden gizlenir; kullanım ve bütçeler çalışma alanı düzeyinde görünür kalır.

Ödeme hangi ödeme yöntemlerini kabul ediyor?

Stripe tarafından barındırılan ödeme sayfası kartları kabul eder; cüzdanlar Stripe hesabında etkinleştirildiğinde Alipay ve WeChat Pay de sunabilir — Çin'deki alıcılar için kullanışlı. Cüzdan yetkilendirmeleri eşzamansız onaylanır; ödeme tamamlanır tamamlanmaz lisans sayfası güncellenir.

Geri ödeme alabilir miyim?

Depoya erişim kazandıktan sonra supastack sonsuza kadar sizin olur, bu nedenle geri ödeme yapılamaz. Ancak içiniz rahat olsun: kendiniz veya müşterileriniz için sınırsız sayıda ürün geliştirip yayınlamak üzere ömür boyu güncellemeler içeren eksiksiz kaynak koduna sahip olursunuz. Yalnızca kodu yeniden satamaz veya depoyu bir başlangıç kiti ya da şablon olarak yeniden dağıtamazsınız.

TR
Tema