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
- console.cloud.google.com adresine Google hesabınızla girin.
- Üst bardaki proje seçiciden New Project deyin; ad olarak örn.
SupportBotyazıp Create'e basın. (Var olan bir projeniz varsa onu da kullanabilirsiniz.) - 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:
- Sol menü → APIs & Services → OAuth consent screen.
- External seçin (Google Workspace kullanmıyorsanız tek seçenek budur) → Create.
- 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
- App name:
- Scopes ve sonraki adımları değiştirmeden Save and Continue ile geçin — SupportBot yalnızca
openid+emailister, 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/emailhassas kapsam olmadığı için Google doğrulaması gerekmez; "unverified app" uyarısı da çıkmaz.
3. OAuth Client ID Oluşturun
Sol menü → APIs & Services → Credentials.
+ Create Credentials → OAuth client ID deyin.
Application type:
Web application; ad: örn.SupportBot Web.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/googleSı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_mismatchhatası verir.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_EMAILotomatik kayıtlıdır — yaniADMIN_EMAILbir 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
https://dashboard.<alan-adınız>/loginadresini açın — formun altında "Google ile giriş yap" düğmesini görmelisiniz.- Düğmeye basın, Google hesabınızı seçin; panele yönlendirilirsiniz.
- 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:
Adım 3'teki üçüncü redirect URI'nin ekli olduğundan emin olun.
infra/.enviçindeDIFY_ENABLE_SOCIAL_OAUTH_LOGIN=trueyapın (Google anahtarları zaten Adım 4'te girildi) ve Dify'ı yeniden başlatın:docker compose up -d dify-api dify-webDify giriş ekranında Google düğmesi belirir. E-posta, Dify'da kayıtlı bir hesapla eşleşmelidir — kurulumun
ADMIN_EMAILhesabı 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). |