> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 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.

[Web uygulamasını 5 dakikada yayınlayın](https://supastack.dev/tr/docs/web/ship-in-5-minutes.md)

[Veritabanını kurun](https://supastack.dev/tr/docs/web/setup-database.md)


## Google Cloud projesini oluşturun

1. [console.cloud.google.com](https://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-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.

[Ardından GitHub ile giriş ekleyin](https://supastack.dev/tr/docs/web/github-sign-in.md)

[OAuth sağlayıcı genel bakışı](https://supastack.dev/tr/docs/web/setup-oauth.md)


Kuruluma devam etmek için [GitHub ile giriş ekleyin](https://supastack.dev/tr/docs/web/github-sign-in.md) kılavuzunu okuyun.


## Sonraki

[GitHub ile giriş ekleyin](https://supastack.dev/tr/docs/web/github-sign-in.md)
