Kurulum

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

Google API istemci kimliğinizi alma

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

  1. Google API'leri konsolunda 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 zaten 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 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 Web uygulaması'nı seçerek yeni bir istemci kimliği oluşturun. 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. Bu durumda, yönlendirme URI'lerinizi Yetkilendirilmiş yönlendirme URI'leri'ne 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 kimlik doğrulamasında, verilerine erişmek isteyen uygulamanın kullanıcılara ne tür veriler istendiğini ve geçerli şartları bildiren bir izin ekranı bulunur.

  1. Google Developer Console'un API'ler ve Hizmetler bölümündeki 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 yerde gördüğü uygulama adıyla tutarlı olmalıdır.

    2. Uygulama logosu: Bu resim, kullanıcıların uygulamanızı tanıması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, Google ile Oturum Açma izin ekranında, kullanıcı uygulama adını tıkladığı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 kapsamlar eklemeniz gerekmez. Genellikle en iyi uygulama, önceden değil erişim gerektiğinde kapsamları artımlı olarak istemektir. Daha fazla bilgi

    5. Yetkili alanlar: Sizi ve kullanıcılarınızı korumak amacıyla Google, Yetkilendirilen Alanları kullanmak için yalnızca OAuth kullanarak kimlik doğrulaması yapan uygulamalara izin verir. Uygulamalarınızın bağlantıları, Yetkilendirilen Alanlar'da barındırılmalıdır. Daha fazla bilgi edinin.

    6. Uygulama Ana Sayfası bağlantısı: Google ile Oturum Açma sırasında Google izin ekranında ve "Farklı devam et" düğmesinin altındaki One-Tap GDPR uyumlu sorumluluk reddi beyanında 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 izin ekranı ile oturum açma ekranında ve "Şu hesapla devam et" düğmesinin altında, tek dokunuşla GDPR ile uyumlu sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkilendirilen Alanda barındırılmalıdır.

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

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

FedCM ile One Tap

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

Üst düzey Yetkilendirilmiş alan, Chrome'da kullanıcı izni sırasında gösterilir.

FedCM olmadan One Tap

One Tap ile gösterilen OAuth izin ayarları

Uygulama adı kullanıcı izni sırasında gösterilir.

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

İç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 sayfalarına göz atın.

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

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

  • connect-src yönergesi kullanıyorsanız bir sayfanın, Google Kimlik Hizmetleri sunucu tarafı uç noktaları için üst URL'yi yüklemesine izin vermek üzere 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/ özelliğini ekleyin.
  • script-src yönergesiyle, Google Kimlik Hizmetleri JavaScript kitaplığının URL'sine izin vermek için https://accounts.google.com/gsi/client özelliğini ekleyin.
  • style-src yönergesiyle, Google Kimlik Hizmetleri Stil Sayfaları'nın URL'sine izin vermek için https://accounts.google.com/gsi/style özelliğini ekleyin.
  • default-src yönergesi, kullanılıyorsa önceki direktiflerden (connect-src, frame-src, script-src veya style-src) 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 ayrı GIS URL'lerini listelemekten kaçının. Böylece, Coğrafi Bilgi Sistemi güncellendiğinde yaşanabilecek hataları en aza indirebilirsiniz. Örneğin, https://accounts.google.com/gsi/status eklemek yerine Coğrafi Bilgi Sistemi üst URL'sini (https://accounts.google.com/gsi/) 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ı

Pop-up'ları başarılı bir şekilde oluşturabilmek için Google ile Oturum Aç düğmesi ve Google One Tap'te, Cross-Origin-Opener-Policy (COOP) hesabınızda değişiklik yapılması gerekebilir.

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:

  • alıcı: same-origin ve
  • same-origin-allow-popups dahil edilir.

Uygun bir başlığın ayarlanamaması, pencereler arasındaki iletişimi keser ve boş bir pop-up pencere veya benzer hatalara yol açar.