Kurulum

Web sitenize Google ile Oturum Açma, One Tap veya Otomatik oturum açma özelliğini eklemeden önce OAuth yapılandırmanızı ayarlayın ve isteğe bağlı olarak sitenizin İçerik Güvenliği Politikanızı yapılandırın.

Google API istemci kimliğinizi alın

Web sitenizde Google ile Oturum Açma özelliğini etkinleştirmek için öncelikle Google API istemci kimliğinizi ayarlamanız gerekir. Bunun için aşağıdaki adımları uygulayın:

  1. Google API Konsolu'nun Kimlik Bilgileri sayfasını açın.
  2. Bir Google API'leri projesi oluşturun veya seçin. Google ile Oturum Aç düğmesi veya Google One Tap için bir projeniz varsa mevcut projeyi ve web istemcisi kimliğini kullanın. Üretim uygulamaları oluştururken birden fazla proje gerekebilir. Yönettiğiniz her proje için bu bölümün geri kalan adımlarını tekrarlayın.
  3. Kimlik bilgisi oluştur > OAuth istemci kimliği'ni tıklayın ve Uygulama türü için yeni bir istemci kimliği oluşturmak üzere Web uygulaması'nı seçin. Mevcut bir istemci kimliğini kullanmak için Web uygulaması türünde bir seçim yapın.
  4. Web sitenizin URI'sını Yetkilendirilmiş JavaScript kaynakları bölümüne ekleyin. URI yalnızca şemayı ve tam nitelikli ana makine adını içerir. Örneğin, https://www.example.com.

  5. İsteğe bağlı olarak kimlik bilgileri, JavaScript geri çağırması yerine barındırdığınız bir uç noktaya yönlendirme kullanılarak döndürülebilir. Böyle bir durumda yönlendirme URI'lerinizi Yetkilendirilmiş yönlendirme URI'lerine ekleyin. Yönlendirme URI'leri şemayı, tam ana makine adını ve yolu içerir ve Yönlendirme URI'si doğrulama kurallarına uymalıdır. Örneğin, https://www.example.com/auth-receiver.

Hem Google ile Oturum Açma hem de One Tap ile kimlik doğrulama, kullanıcılara verilerine erişmek isteyen uygulamanın, kullanıcılardan ne tür veriler istendiğini ve geçerli şartları bildiren bir izin ekranı içerir.

  1. Google Developer Console'un API'ler ve Hizmetler bölümünün OAuth izin ekranı sayfasını açın.
  2. İstenirse az önce oluşturduğunuz projeyi seçin.
  3. "OAuth izin ekranı" sayfasında formu doldurun ve "Kaydet" düğmesini tıklayın.

    1. Uygulama adı: İzin isteyen uygulamanın adı. Ad, uygulamanızı doğru şekilde yansıtmalı ve kullanıcıların başka bir yerde gördüğü uygulama adıyla tutarlı olmalıdır.

    2. Uygulama logosu: Bu resim, kullanıcıların uygulamanızı tanımalarına yardımcı olmak için izin ekranında gösterilir. Logo, Google ile Oturum Açma izin ekranında ve hesap ayarlarında gösterilir ancak One Tap iletişim kutusunda gösterilmez.

    3. Destek e-postası: Kullanıcı desteği için izin ekranında ve kullanıcıları için uygulamanıza erişimi değerlendiren G Suite yöneticilerine gösterilir. Bu e-posta adresi, uygulama adını tıklayan kullanıcılara Google ile Oturum Açma izin ekranında gösterilir.

    4. Google API'leri için kapsamlar: Kapsamlar, uygulamanızın kullanıcınızın özel verilerine erişmesine olanak tanır. Kimlik doğrulama için varsayılan kapsam (e-posta, profil, Openid) yeterlidir. Hassas kapsam eklemeniz gerekmez. Kapsamları önceden değil, erişim gerektiğinde kademeli olarak talep etmek genellikle en iyi yöntemdir. Daha fazla bilgi

    5. Yetkili alanlar: Google, sizi ve kullanıcılarınızı korumak amacıyla yalnızca OAuth kullanarak kimlik doğrulaması yapan uygulamaların Yetkilendirilen Alanları kullanmasına izin verir. Uygulamalarınızın bağlantıları, Yetkilendirilen Alanlar üzerinde barındırılmalıdır. Daha fazla bilgi

    6. Uygulama ana sayfası bağlantısı: Google ile Oturum Açma izin ekranında ve "Farklı devam et" düğmesinin altındaki One-Tap GDPR uyumlu sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkilendirilen Alanda barındırılmalıdır.

    7. Uygulama Gizlilik Politikası bağlantısı: Google ile Oturum Açma izin ekranında ve "Farklı devam et" düğmesinin altındaki One-Tap GDPR uyumlu sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkilendirilen Alanda barındırılmalıdır.

    8. Uygulama Hizmet Şartları bağlantısı (İsteğe bağlı): Google ile Oturum Açma izin ekranında ve "Farklı devam et" düğmesinin altındaki One Tap ile GDPR uyumlu sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkilendirilen Alanda barındırılmalıdır.

  4. "Doğrulama Durumu"nu kontrol edin, başvurunuzun doğrulanması gerekiyorsa başvurunuzu doğrulama için göndermek için "Doğrulama İçin Gönder" düğmesini tıklayın. Ayrıntılar için OAuth doğrulama şartları sayfasına bakın.

Oturum açma sırasında OAuth ayarlarının gösterilmesi

One Tap

One Tap'in gösterdiği şekilde OAuth izin ayarları

Uygulama adı, kullanıcı rızası sırasında gösterilir.

FedCM ile One Tap

FedCM kullanılarak Chrome One Tap tarafından gösterilen OAuth izin ayarları

Chrome'da kullanıcı izni sırasında üst düzey Yetkili alan gösterilir.

Şekil 1. OAuth izin ayarları, Chrome'da One Tap ile gösteriliyor.

İçerik Güvenliği Politikası

İsteğe bağlı olsa da uygulamanızın güvenliğini sağlamak ve siteler arası komut dosyası çalıştırma (XSS) saldırılarını önlemek için İçerik Güvenliği Politikası kullanmanız önerilir. Daha fazla bilgi edinmek için CSP'ye giriş ve CSP ve XSS'ye bakın.

İçerik Güvenliği Politikanız connect-src, frame-src, script-src, style-src ya da default-src gibi bir veya daha fazla yönerge içerebilir.

İGP'niz aşağıdakileri içeriyorsa:

  • connect-src yönergesiyle, bir sayfanın Google Kimlik Hizmetleri sunucu tarafı uç noktalarına ait üst URL'yi yüklemesine izin vermek için https://accounts.google.com/gsi/ ekleyin.
  • frame-src yönergesiyle, One Tap ve Google ile Oturum Açma düğmesi iframe'lerinin üst URL'sine izin vermek için https://accounts.google.com/gsi/ değerini ekleyin.
  • script-src yönergesiyle, Google Kimlik Hizmetleri JavaScript kitaplığının URL'sine izin vermek için https://accounts.google.com/gsi/client öğesini ekleyin.
  • style-src yönergesi kullanıyorsanız Google Kimlik Hizmetleri Stil Sayfaları'nın URL'sine izin vermek için https://accounts.google.com/gsi/style ifadesini ekleyin.
  • default-src yönergesi kullanılıyorsa, önceki yönergelerden (connect-src, frame-src, script-src veya style-src) herhangi biri belirtilmemişse bir yedek oluşturur. Bir sayfanın, Google Kimlik Hizmetleri sunucu tarafı uç noktaları için üst URL'yi yüklemesine izin vermek için https://accounts.google.com/gsi/ ekleyin.

connect-src kullanırken Coğrafi Bilgi Sistemi URL'lerini ayrı ayrı listelemekten kaçının. Bu, Coğrafi Bilgi Sistemi güncellendiğinde yaşanabilecek hataların en aza indirilmesine yardımcı olur. Örneğin, https://accounts.google.com/gsi/status eklemek yerine https://accounts.google.com/gsi/ Coğrafi Bilgi Sistemi üst URL'sini kullanın.

Aşağıdaki örnek yanıt başlığı, Google Kimlik Hizmetleri'nin başarıyla yüklenmesini ve yürütülmesini sağlar:

Content-Security-Policy-Report-Only: script-src
https://accounts.google.com/gsi/client; frame-src
https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;

Çapraz Kaynak Açıcı Politikası

Başarıyla pop-up oluşturabilmek için Google ile Oturum Aç düğmesi ve Google One Tap, Cross-Origin-Opener-Policy (COOP) uygulamanızda değişiklik yapılmasını gerektirebilir.

FedCM etkinleştirildiğinde tarayıcı doğrudan pop-up'ları oluşturur ve değişiklik yapılması gerekmez.

Ancak FedCM devre dışı bırakıldığında COOP başlığını ayarlayın:

  • same-origin adlı kullanıcıya ve
  • same-origin-allow-popups dahil edilir.

Doğru başlığın ayarlanmaması, pencereler arasındaki iletişimin kesintiye uğramasına ve boş bir pop-up pencereye veya benzer hataların oluşmasına yol açar.