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 izin ekranını yapılandırın
1. Sol gezinmede APIs & Services → OAuth consent screen'i açın ve Get started'a tıklayın.
2. Kullanıcıların göreceği App name'i (ürün adınız) girin, bir User support email seçin, hedef kitle için External'ı seçin, geliştirici iletişim e-postasını doldurun ve Create'e kadar ilerleyin.
3. Bu ekranda başka bir şey gerekmez: uygulama yalnızca varsayılan openid, email ve profile kapsamlarını ister; bunlar ek kapsam veya doğrulama gerektirmez.
Geliştirirken yayın durumu Testing olarak kalır. Bu modda yalnızca listelenen hesaplar giriş yapabilir, bu yüzden kendi Gmail adresinizi Audience → Test users altına ekleyin — aksi halde Google sizi bile engeller. Ürün canlıya geçtiğinde Publish app'e tıklayın; hassas kapsam istenmediği için yayınlamak bir Google doğrulama incelemesi başlatmaz.
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-secretDoğ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.