Kılavuz🇬🇧 English

Google ile Giriş

Bu kılavuz, SupportBot'a "Google ile giriş"i sıfırdan eklemenizi adım adım anlatır. Kurulum bittiğinde düğme üç giriş ekranında birden belirebilir: Chatwoot (temsilci gelen kutusu), Yönetim Paneli ve — isterseniz — Dify konsolu. Üçü de aynı Google OAuth client'ını kullanır; Google tarafında tek kurulum yeterlidir.

Hiçbir Google Cloud deneyimi gerektirmez; yaklaşık 10 dakika sürer.

1. Google Cloud Projesi Açın

  1. console.cloud.google.com adresine Google hesabınızla girin.
  2. Üst bardaki proje seçiciden New Project deyin; ad olarak örn. SupportBot yazıp Create'e basın. (Var olan bir projeniz varsa onu da kullanabilirsiniz.)
  3. Proje oluşunca üst bardan onu seçili hale getirin.

2. OAuth Onay Ekranını Yapılandırın

Google, kullanıcıya "Bu uygulama şu bilgilere erişecek" ekranını göstermeden önce uygulamanızı tanımlamanızı ister. Bir kez yapılır:

  1. Sol menü → APIs & Services → OAuth consent screen.
  2. External seçin (Google Workspace kullanmıyorsanız tek seçenek budur) → Create.
  3. Zorunlu alanları doldurun:
    • App name: SupportBot (kullanıcı giriş ekranında bu adı görür)
    • User support email: kendi e-postanız
    • Developer contact information: kendi e-postanız
  4. Scopes ve sonraki adımları değiştirmeden Save and Continue ile geçin — SupportBot yalnızca openid + email ister, bunlar hassas kapsam değildir.

Önemli — Test modu: Onay ekranı ilk açıldığında uygulama Testing durumundadır: yalnızca Test users listesine eklediğiniz Google hesapları giriş yapabilir. İki seçeneğiniz var:

  • Test users'a kendi (ve operatörlerinizin) Gmail adreslerini ekleyin — küçük ekipler için genelde bu yeterlidir; veya
  • Publish app ile Production'a alın. openid/email hassas kapsam olmadığı için Google doğrulaması gerekmez; "unverified app" uyarısı da çıkmaz.

3. OAuth Client ID Oluşturun

  1. Sol menü → APIs & Services → Credentials.

  2. + Create Credentials → OAuth client ID deyin.

  3. Application type: Web application; ad: örn. SupportBot Web.

  4. Authorized redirect URIs bölümüne İKİ URI'yi birden ekleyin (<alan-adınız> yerine kendi kök alan adınızı yazın):

    https://chat.<alan-adınız>/omniauth/google_oauth2/callback
    https://dashboard.<alan-adınız>/api/auth/google/callback
    https://ai.<alan-adınız>/console/api/oauth/authorize/google
    

    Sırasıyla Chatwoot, Yönetim Paneli ve Dify konsolu girişlerinin dönüş adresleridir. İlk ikisi zorunludur; üçüncüsü yalnızca Dify konsolunda da Google girişi istiyorsanız gerekir (Adım 7). Eksik URI, o ekrandaki girişte redirect_uri_mismatch hatası verir.

  5. Create'e basın. Açılan pencerede Client ID (....apps.googleusercontent.com) ve Client secret görünür — ikisini de kopyalayın. (Secret'ı sonradan da Credentials sayfasından görebilirsiniz.)

4. Anahtarları SupportBot'a Tanıtın

Sunucunuzda infra/.env dosyasını açın ve iki satırı doldurun:

GOOGLE_OAUTH_CLIENT_ID=<client-id>.apps.googleusercontent.com
GOOGLE_OAUTH_CLIENT_SECRET=<client-secret>

Ardından ilgili servisleri yeniden başlatın:

cd infra
docker compose up -d chatwoot chatwoot-sidekiq dashboard

Hepsi bu — başka yapılandırma gerekmez. Anahtarlar boşken düğmeler hiç görünmez; doldurup yeniden başlattığınızda ikisi de belirir.

5. Kimler Giriş Yapabilir?

Google girişi hesap yaratmaz; yalnızca var olan kullanıcıları doğrular:

  • Yönetim Paneli: Google e-postası, panelin kullanıcı listesindeki aktif bir operatörle eşleşmelidir. Kurulumdaki ADMIN_EMAIL otomatik kayıtlıdır — yani ADMIN_EMAIL bir Gmail/Google hesabıysa hemen giriş yapabilirsiniz.
  • Chatwoot: Google e-postası, Chatwoot'ta tanımlı bir kullanıcıyla (temsilci/yönetici) eşleşmelidir.

Yeni bir operatöre Google girişi vermek için önce onu ilgili sisteme o e-postayla ekleyin.

6. Deneyin

  1. https://dashboard.<alan-adınız>/login adresini açın — formun altında "Google ile giriş yap" düğmesini görmelisiniz.
  2. Düğmeye basın, Google hesabınızı seçin; panele yönlendirilirsiniz.
  3. Aynısını https://chat.<alan-adınız> girişinde de doğrulayın.

Her Google girişi denetim günlüğüne kaydedilir (panelde auth.login_google olarak).

7. Dify Konsolu (opsiyonel)

Dify (ai.<alan-adınız>) günlük kullanımda gerekmez; ileri düzey RAG ayarları için giren ekipler Google'ı burada da açabilir:

  1. Adım 3'teki üçüncü redirect URI'nin ekli olduğundan emin olun.

  2. infra/.env içinde DIFY_ENABLE_SOCIAL_OAUTH_LOGIN=true yapın (Google anahtarları zaten Adım 4'te girildi) ve Dify'ı yeniden başlatın:

    docker compose up -d dify-api dify-web
    
  3. Dify giriş ekranında Google düğmesi belirir. E-posta, Dify'da kayıtlı bir hesapla eşleşmelidir — kurulumun ADMIN_EMAIL hesabı otomatik kayıtlıdır; kendi kendine kayıt kapalıdır.

Notlar: ai. adresinin önünde Caddy basic-auth vardır (tarayıcı bir kez sorar, Google akışını etkilemez). Dify'ın bayrağı GitHub/Google girişini birlikte açar; GitHub anahtarı tanımlamadıysanız GitHub düğmesi görünse de çalışmaz — yok sayın.

Neden tam SSO değil? Dify Community sürümünde OIDC/SSO yoktur (kurumsal sürüm özelliği). "Aynı Google hesabıyla giriş" üç yüzeyde de tek kimlik sağlar; oturumlar yine ayrıdır.

Sorun Giderme

Belirti Neden / Çözüm
Error 400: redirect_uri_mismatch Adım 3'teki iki URI'den biri eksik veya alan adı/protokol birebir aynı değil (https, www'suz). Credentials → client'ı açıp URI'leri kontrol edin.
Access blocked: ... has not completed the verification process Uygulama Testing modunda ve giriş yapan hesap Test users listesinde değil. Hesabı listeye ekleyin veya uygulamayı Publish edin (Adım 2).
"Bu Google hesabı kayıtlı bir kullanıcıyla eşleşmiyor" E-posta panel kullanıcı listesinde yok. Operatörü o e-postayla ekleyin (bkz. Adım 5).
Google düğmesi görünmüyor infra/.env'de iki anahtar da dolu mu? docker compose up -d dashboard (panel) / chatwoot chatwoot-sidekiq (Chatwoot) ile yeniden başlatıldı mı?
Girişten sonra tekrar login'e düşüyor Tarayıcı çerezleri engelliyor olabilir; ayrıca sunucu saatinin doğru olduğundan emin olun (state çerezi 10 dk geçerlidir).