Web sitenize Google ile oturum aç düğmesi veya One Tap ve otomatik oturum açma istemleri eklemek için öncelikle şunları yapmanız gerekir:
- OAuth 2.0 istemci kimliği alma,
- OAuth marka bilinci oluşturma ve ayarlarını yapılandırma,
- Google Kimlik Hizmetleri istemci kitaplığını yükleyin ve
- İçerik Güvenliği Politikası'nı isteğe bağlı olarak ayarlayın ve
- Çapraz Kaynak Açıcı Politikası'nı güncelleme
1234567890-abc123def456.apps.googleusercontent.com
Google API istemci kimliğinizi alma
Web sitenizde Google Kimlik Hizmetleri'ni etkinleştirmek için öncelikle bir Google API istemci kimliği oluşturmanız gerekir. Bunun için aşağıdaki adımları uygulayın:
- açın.
- Proje oluşturun veya seçin. Google ile oturum açma 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ümdeki kalan adımları tekrarlayın.
- Yeni bir istemci kimliği oluşturmak için İstemci oluştur'u tıklayın ve Uygulama türü için Web uygulaması'nı seçin. Mevcut bir istemci kimliğini kullanmak için Web uygulaması türlerinden birini seçin.
Web sitenizin URI'sini Yetkilendirilmiş JavaScript kaynakları'na ekleyin. URI yalnızca şemayı ve tam etki alanı adını içerir. Örneğin,
https://www.example.com
.İsteğe bağlı olarak, kimlik bilgileri bir JavaScript geri çağırması yerine, sizin 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 nitelikli 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
.
data-client_id veya client_id alanlarını kullanarak istemci kimliğini web uygulamanıza ekleyin.
OAuth izin ekranınızı yapılandırma
Hem Google ile oturum açma hem de tek dokunmayla kimlik doğrulama, kullanıcılara verilerine erişim isteyen uygulamayı, istenen veri türünü ve geçerli şartları bildiren bir izin ekranı içerir.
- bölümünün Google Auth Platform bölümünü açın.
- İstenirse yeni oluşturduğunuz projeyi seçin.
sayfasında formu doldurun ve "Kaydet" düğmesini tıklayın.
Uygulama adı: İzin isteyen uygulamanın adı. Ad, uygulamanızı doğru bir şekilde yansıtmalı ve kullanıcıların başka yerlerde gördüğü uygulama adıyla tutarlı olmalıdır.
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 tek dokunma iletişim kutusunda gösterilmez.
Destek e-postası: Kullanıcı desteği için izin ekranında ve Google Workspace yöneticilerine gösterilir. Bu yöneticiler, kullanıcıları için uygulamanıza erişimi değerlendirir. Bu e-posta adresi, kullanıcı uygulama adını tıkladığında Google ile Oturum Açma izin ekranında kullanıcılara gösterilir.
Yetkilendirilmiş alanlar: Google, sizi ve kullanıcılarınızı korumak için yalnızca OAuth kullanarak kimlik doğrulaması yapan uygulamaların yetkilendirilmiş alanları kullanmasına izin verir. Uygulamalarınızın bağlantıları, yetkilendirilmiş alanlarda barındırılmalıdır. Daha fazla bilgi edinin.
Uygulama ana sayfası bağlantısı: "Google ile oturum aç" kullanıcı rızası ekranında ve "Devam et" düğmesinin altındaki tek dokunuşla GDPR'ye uygun sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkili bir alan adında barındırılmalıdır.
Uygulama Gizlilik Politikası bağlantısı: Google ile oturum açma izni ekranında ve "Devam et" düğmesinin altında tek dokunuşla GDPR'a uygun sorumluluk reddi beyanı bilgileri gösterilir. Yetkili bir alan adında barındırılmalıdır.
Uygulama Hizmet Şartları bağlantısı (isteğe bağlı): Google ile Oturum Açma izin ekranında ve "Devam et" düğmesinin altında tek dokunuşla GDPR'ya uygun sorumluluk reddi beyanı bilgilerinde gösterilir. Yetkili bir alan adında barındırılmalıdır.
Uygulamanızın kapsamlarını yapılandırmak için simgesine gidin.
- Google API'leri için kapsamlar: Kapsamlar, uygulamanızın kullanıcınızın gizli verilerine erişmesine olanak tanır. Kimlik doğrulama için varsayılan kapsam (e-posta, profil, openid) yeterlidir. Hassas kapsamlar eklemeniz gerekmez. Genel olarak, erişim gerektiğinde kapsamları artımlı olarak istemek en iyi uygulamadır.
"Doğrulama Durumu"nu kontrol edin. Uygulamanızın doğrulanması gerekiyorsa "Doğrulamaya Gönder" düğmesini tıklayarak uygulamanızı doğrulamaya gönderin. Ayrıntılı bilgi için OAuth doğrulama koşulları başlıklı makaleyi inceleyin.
Oturum açma sırasında OAuth ayarlarının gösterilmesi
FedCM ile One Tap
Kullanıcı izni sırasında Chrome'da üst düzey Yetkili alan gösterilir. Yalnızca kaynaklar arası ancak aynı site olan iFrame'lerde Tek Dokunma'yı kullanmak desteklenen bir yöntemdir.
FedCM olmadan One Tap
Kullanıcı izni sırasında Uygulama adı gösterilir.
1.şekil Chrome'da Tek Dokunma ile gösterilen OAuth izin ayarları.
İstemci kitaplığını yükleme
Google Identity Services istemci kitaplığını, kullanıcının oturum açabileceği tüm sayfalara yüklediğinizden emin olun. Aşağıdaki kod snippet'ini kullanın:
<script src="https://accounts.google.com/gsi/client" async></script>
Komut dosyasını async
özelliğiyle yüklerseniz sayfalarınızın yüklenme hızını optimize edebilirsiniz.
Kitaplığın desteklediği yöntemlerin ve özelliklerin listesi için HTML ve JavaScript API referanslarına bakın.
İçerik Güvenliği Politikası
İsteğe bağlı olsa da uygulamanızı güvence altına almak 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 İGP'ye Giriş ve İGP ve XSS başlıklı makalelere bakın.
İçerik Güvenliği Politikanızda connect-src
, frame-src
, script-src
, style-src
veya default-src
gibi bir veya daha fazla yönerge olabilir.
İGP'niz şunları içeriyorsa:
connect-src
yönergesinehttps://accounts.google.com/gsi/
ekleyerek bir sayfanın Google Kimlik Hizmetleri sunucu tarafı uç noktaları için üst URL'yi yüklemesine izin verin.frame-src
yönergesini ekleyin. One Tap ve Google ile oturum açma düğmesi iframe'lerinin üst URL'sine izin vermek içinhttps://accounts.google.com/gsi/
ekleyin.script-src
yönergesinehttps://accounts.google.com/gsi/client
ekleyerek Google Kimlik Hizmetleri JavaScript kitaplığının URL'sine izin verin.style-src
yönergesine, Google Kimlik Hizmetleri stil sayfalarının URL'sine izin vermek içinhttps://accounts.google.com/gsi/style
ekleyin.default-src
yönergesi, kullanılıyorsa önceki yönergelerden (connect-src
,frame-src
,script-src
veyastyle-src
) herhangi biri belirtilmediğinde yedek olarak kullanılır. Bir sayfanın Google Kimlik Hizmetleri sunucu tarafı uç noktaları için üst URL'yi yüklemesine izin vermek üzerehttps://accounts.google.com/gsi/
ekleyin.
connect-src
kullanırken tek tek GIS URL'lerini listelemeyin. Bu, CBS güncellenirken hataları en aza indirmeye yardımcı olur. Örneğin, https://accounts.google.com/gsi/status
eklemek yerine GIS üst URL'sini https://accounts.google.com/gsi/
kullanın.
Bu örnek yanıt üstbilgisi, Google Kimlik Hizmetleri'nin başarıyla yüklenip yürütülmesine olanak tanır:
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ı
Google ile oturum açma düğmesi ve Google One Tap'in pop-up'ları başarıyla oluşturabilmesi için Cross-Origin-Opener-Policy
(COOP) üzerinde değişiklik yapılması gerekebilir.
FedCM etkinleştirildiğinde tarayıcı, pop-up'ları doğrudan oluşturur ve herhangi bir değişiklik yapılması gerekmez.
Ancak FedCM devre dışı bırakıldığında COOP üstbilgisini ayarlayın:
same-origin
vesame-origin-allow-popups
dahil edin.
Uygun başlığın ayarlanmaması, pencereler arasındaki iletişimi keserek boş bir pop-up pencereye veya benzer hatalara yol açar.