Entegrasyon için dikkat edilmesi gereken noktalar

Bu adım adım açıklamalı kılavuz, tüm önemli entegrasyon sorunlarıyla ilgili kararlar almanıza yardımcı olur.

Özet olarak Google ile oturum açma

Aşağıda, kullanıcıların web sitenizde oturum açma / kaydolma işlemi için uygulayacağı genel adımlar verilmiştir.

  1. Kullanıcılar bir Google web sitesinde oturum açar.

    Google ile oturum açma özelliğinin çalışması için tarayıcıda etkin bir Google oturumu olmalıdır. One Tap ve Otomatik Oturum Açma yalnızca kullanıcılar web sayfalarınızı yüklemeden önce Google'da oturum açtığında tetiklenir. Düğmeye basıldığında kullanıcılardan Google'da oturum açmaları istendiği için bu adım, Google ile oturum açma düğmesi akışında isteğe bağlıdır.

  2. Kullanıcılar One Tap, Otomatik Oturum Açma veya Google ile oturum aç düğmesinin yerleştirildiği web sayfalarınıza göz atıyor.

  3. Kullanıcılar One Tap, Google ile oturum açma düğmesi ve sonraki kullanıcı deneyimi akışlarıyla etkileşime geçerek şunları yapar:

    • Devam etmek için etkin bir Google oturumu seçin.
    • Henüz izin almadıysanız profil bilgilerini web sitenizle paylaşma konusunda son kullanıcılardan izin alın.

    Tarayıcıda yalnızca bir etkin Google oturumu olduğunda,

    • Tek Dokunuş, tek oturumu otomatik olarak seçer ve böylece hesap seçici sayfasını atlar.
    • Google ile oturum açma düğmesi, hesap seçici sayfasında kalır. Bu sayede kullanıcılar gerektiğinde yeni bir Google oturumu ekleyebilir.

    Seçilen Google Hesabı daha önce web sitenizle kullanılmadıysa veya izin iptal edildiyse bir izin sayfası gösterilir.

    Google ile oturum açma düğmesi kullanıcı rızası ekranı

    Google, onay alındıktan sonra bir sonraki sefer izin sayfasını atlamak için kararı kaydeder.

  4. Kullanıcının adını, e-posta adresini ve profil resmini içeren bir JSON Web Token (ID jetonu olarak da bilinir) kimliği, JavaScript geri çağırma işleyicisi veya arka uç hizmetinize gönderim kullanılarak paylaşılır.

    Kimlik jetonlarının istemci tarafındaki JavaScript geri çağırma işleyicisine döndürülmesinin amacı, JavaScript kodunda kodunu çözmeniz değil, kendi yönteminizle sunucunuza göndermenizdir. Gönderim nedeniyle sayfanın yeniden yüklenmesini önlemek için bir XmlHttpRequest kullanmak buna örnek verilebilir.

  5. Sunucu tarafında, Google tarafından verilen JWT kimlik bilgisi doğrulanır ve web sitenizde yeni bir hesap oluşturmak veya kimliği doğrulanmış bir oturum oluşturmak için kullanılır.

    Kullanıcı oturum açma durumunu kendi web sitenizde yönetirsiniz.

    Kullanıcının Google Hesabı oturum açma durumu ile uygulamanız birbirinden bağımsızdır. Bunun tek istisnası, kullanıcının kimliğini başarıyla doğruladığı ve Google Hesabı'nda oturum açtığı oturum açma anı olur. Kullanıcılar, web sitenizde oturumları açıkken oturumlarını kapatabilir veya farklı bir Google Hesabı'na geçebilir.

Özetlemek gerekirse, şifreye dayalı giriş gibi Google ile oturum açma özelliği de web'de kullanıcıların kimliğini doğrulamanın başka bir yoludur. Google ile oturum aç özelliği, kimlik doğrulamasından sonra web sitenizde oturum yönetimi için herhangi bir özellik sağlamaz.

Google API'lerine ve hizmetlerine erişim

Daha önce açıklandığı gibi kimlik doğrulama API'sini entegre etmiş olsanız da sitenizin kimliği doğrulanmış kullanıcılar adına Google API'lerine ve hizmetlerine erişmesi gerekiyorsa yetkilendirme API'sini de entegre etmeniz gerekebilir. Kimlik doğrulama, sitenize kullanıcıların kimliğini doğrulamak için kimlik jetonları sağlarken yetkilendirme, sitenize (ayrı) erişim jetonları ve Google API'lerini ve hizmetlerini kullanma izinleri sağlar. Daha fazla bilgi için Web için yetkilendirme bölümüne bakın.

Kimlik doğrulama ve yetkilendirme için kullanıcı deneyimi ayırma

Web sitenizin hem kimlik doğrulama hem de yetkilendirme API'lerini çağırması gerekiyorsa bunları farklı zamanlarda ayrı ayrı çağırmanız gerekir. Kimlik doğrulama ve yetkilendirme işlemlerini ayırma başlıklı makaleyi inceleyin.

Web siteniz geçmişte kimlik doğrulama ve yetkilendirme jetonlarını birlikte istiyorsa Google Kimlik Hizmetleri JavaScript kitaplığını kullanırken kullanıcı deneyiminizi, kimlik doğrulama anını yetkilendirme anından ayıracak şekilde ayarlamanız gerekir.

  • Web siteniz, kimlik doğrulama sırasında kullanıcıların web sitenizde oturum açmasına veya kaydolmasına izin vermek için OneTap, Otomatik Oturum Açma veya Google ile oturum aç düğmesiyle entegre olabilir.
  • Web siteniz, yetkilendirme anında Google API'lerine veya hizmetlerine erişmek için izinleri ve jetonları almak üzere yetkilendirme API'sini çağırabilir.

Kullanıcı deneyiminde sorunsuz bir geçiş sağlamak ve karmaşıklığı azaltmak için süreci iki ayrı adıma bölmek yaygın bir uygulamadır.

  1. Kullanıcı deneyimini, kimlik doğrulama ve yetkilendirme anlarının ayrılacağı şekilde yeniden yapılandırın.
  2. Google Kimlik Hizmetleri JavaScript kitaplığına geçiş yapın.

HTML API ve JavaScript API karşılaştırması

Tek Dokunuş, Otomatik Oturum Açma veya Google ile Oturum Aç düğmesini web sayfalarınıza entegre etmek için HTML API'yi ya da JavaScript API'yi kullanabilirsiniz.

HTML API'de daha fazla yerleşik özellik bulunur. Örneğin,

  • Sayfa yüklenirken One Tap veya Google ile oturum aç düğmesinin oluşturulması.
  • Tek Dokunuş, Otomatik Oturum Açma veya düğme pop-up'ı/yönlendirme kullanıcı deneyimi tamamlandıktan sonra döndürülen kimlik bilgisini, data-login_uri özelliğiyle belirtilen sunucu tarafı uç noktanıza gönderin.
  • double-submit-cookie ile CSRF saldırılarını önleyin.
  • HTML kodunu oluşturmak için kod oluşturma aracını kullanın ve ardından kodu HTML sayfalarınıza kopyalayın.

HTML API ile davranışı özelleştirmek için JavaScript de yazabilirsiniz.

  • Kendi geri çağırma işleyicinizi yazabilir ve ardından işlev adını data-callback özelliğine ayarlayabilirsiniz. Örneğin, varsayılan gönderim nedeniyle sayfanın yeniden yüklenmesini önlemek için döndürülen kimlik bilgilerini sunucunuza göndermek üzere bir XmlHttpRequest kullanabilirsiniz.

JavaScript API'si bazı senaryolarda daha fazla esneklik sunar.

  • OneTap ve Google ile oturum açma düğmesini daha sonra oluşturma. Örneğin, kullanıcılar menüden Giriş'i seçtikten sonra.
  • API'yi birden çok kez çağırma. Örneğin, Google ile oturum aç düğmesinin, giriş iletişim kutusu her oluşturulduğunda oluşturulması gerekir.
  • HTML sayfalarınızı dinamik olarak oluşturmanız, API çağrısı yapan kodun bu sayfalara yerleştirilmesini zorlaştırır.
  • Google Kimlik Hizmetleri JavaScript kitaplığını çok daha geç bir zamanda yüklerseniz.

HTML API kodu yalnızca sayfa yükleme etkinliğinde veya Google Identity Services JavaScript kitaplığı yükleme etkinliğinde (hangisi daha sonra gerçekleşirse) bir kez çağrılabilir. HTML API davranışı beklentilerinizi karşılamıyorsa JavaScript API'yi kullanmanız gerekir.

Sayfayı başlatmak veya Tek Dokunma ve düğme oluşturma için aynı web sayfasında HTML API'yi JavaScript API ile kullanmayın. HTML ve JavaScript kodlarınızın örtüşebileceği yerleri kontrol edin. Aşağıdakileri göz önünde bulundurun:

  • HTML kodunuzda <div id='g_id_onload' ... ><id> veya <div class='g_id_signin' ...></div> öğelerinden biri veya daha fazlası varsa HTML API'yi kullanıyorsunuz demektir.
  • initialize(), prompt() veya render() içindeki yöntemlerden biri veya daha fazlası JavaScript kodunuzda çağrılırsa (satır içi olarak çağrılmış veya ayrı bir JavaScript dosyasından yüklenmiş olmaları fark etmez) JavaScript API'yi kullanıyorsunuz demektir.

Aşağıdaki JavaScript API'leri, başlatma veya tek dokunuş ve düğme oluşturma işlemlerinden bağımsız olarak kullanılabilir. Bunlara karşılık gelen HTML API'leri yoktur:

Google ile oturum açma düğmesiyle ilgili dikkat edilmesi gereken noktalar

Bu bölümde, Google ile oturum açma düğmesini web sitenize entegre etmeyle ilgili dikkat edilmesi gereken noktalar ele alınmaktadır.

Pop-up ve yönlendirme

OAuth 2.0 spesifikasyonu, HTTP yönlendirmesini dikkate alır ancak pop-up iletişim kutularının oluşturulmasıyla ilgili bir kılavuz içermez. Özellikle masaüstü web'de pop-up kullanıcı deneyimi, son kullanıcılara daha iyi bir kullanıcı deneyimi sunabilir. Bunun nedeni, kullanıcıların üçüncü taraf sayfalarından yönlendirilmemesi ve iletişim kutusu benzeri bir pop-up pencerenin, izin verme konusunda bağlama dayalı bir deneyim sunmasıdır.

Pop-up kullanıcı deneyiminde, kimlik sağlayıcının izin sayfasının gösterildiği pop-up pencereden OAuth yanıtlarını üçüncü taraf sayfasının gösterildiği ana pencereye iletmek için istemci tarafında kaynakta çapraz iletişim kanalları oluşturması gerekir. OAuth yanıtının pencereler arasında gönderilmesi ve alınması için genellikle her iki tarafta da JavaScript kodları gerekir.

Hem pop-up hem de yönlendirme kullanıcı deneyimi, Google ile oturum aç düğmesi tarafından desteklenir. Varsayılan olarak pop-up kullanıcı deneyimi kullanılır. data-ux_mode özelliğini ayarlayarak kullanıcı deneyimini değiştirebilirsiniz.

Google ile oturum açma düğmesi yönlendirme akışı ile OAuth yönlendirme akışı arasında bazı farklılıklar vardır.

  • Google ile oturum aç düğmesi yönlendirme akışı, kimlik bilgilerini web sunucunuza göndermek için her zaman POST yöntemini kullanır. OAuth yönlendirmesi ise normalde GET yöntemini kullanır.
  • Google ile oturum açma düğmesi yönlendirme akışı tarafından gönderilen parametreler, OAuth yönlendirme akışındaki parametrelerden farklıdır.

HTML API'yi kullanan geliştiriciler için, hangi kullanıcı deneyimi kullanılırsa kullanılsın kimlik bilgileri her zaman POST yöntemi ve aynı parametrelerle data-login_uri adresine gönderilir. Bu sayede, kullanıcı deneyimi modunu başka kod değişiklikleri yapmadan değiştirebilirsiniz. Yönlendirme kullanıcı deneyimi için data-login_uri, Google APIs konsolunda istemcinizin Yetkili yönlendirme URI'lerine eklenmelidir.

Düğme özelleştirme

Kendi düğmenizi kullanmanız desteklenmez. Düğme akışını programatik olarak başlatacak bir API yoktur.

Google ile oturum açma düğmesi akışını etkinleştirmek için tek yapmanız gereken web sayfalarınızda bir veya daha fazla Google ile oturum açma düğmesi oluşturmaktır. Düğme akışı, kullanıcılar bu düğmeleri tıkladığında başlatılır ve şeffaf bir şekilde işlenir.

Düğme oluşturma API'si, Google ile oturum açma düğmesinin görünümünü ve tarzını özelleştirmenize olanak tanır. Düğmelerinizi etkileşimli olarak tasarlamak için kod oluşturma aracını kullanmanız önerilir. JavaScript API'yi kullanıyor olsanız bile önce HTML kodunu oluşturabilir, ardından kodu JavaScript API'deki ilgili alanlara kopyalayabilirsiniz.

Web sitelerinin, düğmeleri oluşturmak için kişiselleştirilmiş bilgilerin kullanılıp kullanılmayacağını kontrol etmesine olanak tanıyan bir API yoktur. Tüm koşullar karşılanırsa kişiselleştirilmiş düğmeler gösterilir. Daha fazla bilgi için Kişiselleştirilmiş düğmesini anlama başlıklı makaleyi inceleyin.

Aynı web sayfasına birden fazla düğme yerleştirebilirsiniz. Kod oluşturucu her seferinde yalnızca bir düğme oluşturabilir. Bu komutu birkaç kez çalıştırabilir ve oluşturulan <div class='g_id_signin' ...></div> kodunu web sayfasına kopyalayabilirsiniz.

Düğme oluşturmayla ilgili en iyi uygulamalar

Gizlilik nedeniyle kişiselleştirilmiş düğme, accounts.google.com alanındaki bir iframe'de gösterilir. Yavaş bir ağda bir iframe'i yüklemek zaman alıcı olabilir. Bu gecikmeyi azaltmak için düğmeler aşağıdaki gibi 2 adımda oluşturulur:

  1. Satır içi düğme sürümü, web sitenizin DOM ağacında oluşturulur. Bu yalnızca bir metin düğmesidir. Kişiselleştirilmiş bilgiler kullanılamaz. Amaç, kullanıcıların düğmeyi en kısa sürede görmesini sağlamaktır.
  2. Düğme iframe'ini yüklemek için Google'a bir iframe isteği gönderilir. Bu iframe'de kişiselleştirilmiş bilgiler bulunabilir. Düğme iframe'i yüklendikten sonra satır içi sürüm düğmesi kaldırılır.

Google ile oturum açma düğmesi akışının görüntülenme gecikmesini en aza indirmek için bazı en iyi uygulamalar listelenmiştir.

  • Google Kimlik Hizmetleri JavaScript kitaplığını mümkün olduğunca erken yükleyin. Özellikle mobil web'de, JavaScript kitaplığını diğer büyük kitaplıklardan önce yüklemeyi düşünün.
  • Google ile oturum açma düğmesi yalnızca kullanıcı menüden Giriş'i seçtikten sonra oluşturuluyorsa. Google ile oturum açma düğmesini önce gizli bir öğe olarak oluşturabilir, ardından kullanıcı menüden Giriş'i seçtikten sonra düğmeyi görünür hale getirebilirsiniz.

One Tap ile ilgili dikkat edilecek noktalar

Otomatik oturum açma

Otomatik oturum açma özelliği, kullanıcıların daha önce web sitenize izin vermiş olmaları durumunda Tek Dokunma istemini tıklamadan web sitenizde oturum açmasına olanak tanır.

İptal edilebilir otomatik oturum açma özelliği aşağıdaki avantajları sunar.

  • Bir kullanıcı işlemini kaydederek oturum açma oranını artırabilir.
  • Eski ve desteği sonlandırılmış Google Sign-In JavaScript kitaplığı tarafından sağlanan sessiz oturum açma özelliğinin aksine, otomatik oturum açma işlemi gerçekleştiğinde kullanıcılar her zaman bir kullanıcı arayüzü görür. Bu kullanıcı arayüzü, web sitenizde neden ve nasıl oturum açtıklarına dair bağlam bilgisi sağlar. Kullanıcılar dilerse aboneliklerini iptal edebilir.
  • Kullanıcının daha önce kullandığı hesabı otomatik olarak seçer. Bu durum, kullanıcının web sitenizde yinelenen hesaplar oluşturmasını engelleyebilir.

Otomatik oturum açma özelliğini etkinleştirip etkinleştirmeyeceğinize karar verirken web sitenizin kullanıcı deneyimini ve işletme şartlarını göz önünde bulundurmanız gerekir. Özellikle web sitenizdeki oturum kapatma işlemlerinin çoğu, kullanıcıların açıkça tercih etmesinden değil oturum zaman aşımından kaynaklanıyorsa otomatik oturum açma, kullanıcılarınızın oturum durumunu kurtarması için iyi bir yöntem olabilir.

One Tap kullanıcı arayüzü ne zaman gösterilir?

HTML API ile One Tap, sayfa yüklenirken her zaman gösterilir. JavaScript API ile Tek Dokunuş kullanıcı arayüzünün ne zaman gösterileceğini kontrol edebilirsiniz. API çağrıldıktan sonra aşağıdaki nedenlerden dolayı Tek Dokunuş kullanıcı arayüzünün her zaman gösterilmeyebileceğini unutmayın.

Düğme tıklama etkinliğinde yalnızca Tek Tıklama kullanıcı arayüzünü göstermeye çalışmayın. Listelenen nedenlerden dolayı Tek Dokunma kullanıcı arayüzü gösterilmeyebilir ve kullanıcı işleminin ardından hiçbir şey gösterilmediğinden kullanıcıların kullanıcı deneyimi bozulabilir. Düğme tıklama etkinliğinde:

Önerilen

  • Şifre girişi ve Google ile oturum açma düğmesini içeren oturum açma iletişim kutusunu gösterin ve aynı anda One Tap API'yi çağırın. Bu sayede, kullanıcılara web sitenizde her zaman oturum açma yöntemi sunulur.

Önerilmeyen

  • Yalnızca Tek Dokunuş sunuluyorsa ve Tek Dokunuş gösterilmiyorsa kullanıcılar bozuk bir oturum açma deneyimi yaşayabilir.
  • Tek Dokunma görüntülenmiyorsa başka bir kullanıcı arayüzü göstermek için kullanıcı arayüzü durumu geri çağırma işlevi kullanılır. Kullanıcı arayüzü durum geri çağırması, gelecekteki bir sürümde federe kimlik bilgisi yönetimi ile iyi çalışmayabileceğinden bu yöntem önerilmez.

ITP tarayıcılarında One Tap

Akıllı İzleme Önleme (ITP) nedeniyle normal Tek Dokunuş kullanıcı deneyimi, iOS'teki Chrome, Safari ve Firefox gibi ITP tarayıcılarında çalışmaz. Bu tarayıcılarda bunun yerine karşılama sayfasıyla başlayan farklı bir kullanıcı deneyimi sunulur.

ITP tarayıcılarında Tek Dokunuş kullanıcı deneyimi, isterseniz devre dışı bırakılabilir. Daha fazla bilgi için İTP tarayıcılarında Tek Dokunma desteği başlıklı makaleyi inceleyin.

Bu kullanıcı deneyimini, Android/macOS/Linux'daki Chrome ve Edge gibi ITP olmayan tarayıcılarda etkinleştirmek mümkün değildir.

Kullanıcı tıkladığında istemi iptal etme

Varsayılan olarak, kullanıcı istem dışında bir yeri tıklarsa Tek Dokunma istemi otomatik olarak kapanır. İsterseniz bu davranışı değiştirebilirsiniz.

Ekran boyutu yeterince büyük olduğundan masaüstü web'de Tek Dokunma istemini açık tutmanız önerilir.

Tek Dokunuş kullanıcı deneyiminin konumunu değiştirme

Masaüstü web'de Tek Dokunma isteğinin konumunu değiştirebilirsiniz. Ancak bu özellik, gelecekteki bir sürümde federe kimlik bilgisi yönetimi tarafından desteklenmediğinden önerilmez.

Oturum açma bağlamını değiştirme

Tek Dokunuş, web sitenizdeki daha büyük bir kullanıcı deneyimi akışının parçası olmalıdır. Varsayılan olarak, tek dokunuşla kullanıcı arayüzü, oturum açma bağlamında kullanılır. Kullanıcı arayüzündeki dil, "oturum aç" gibi belirli kelimeler içeriyor. Farklı bir kelime grubu oluşturmak için bağlam özelliğini değiştirebilirsiniz. Kullanıcı deneyimi akışınıza en uygun tek dokunuş başlıklarından birini seçebilirsiniz.

Bağlam
signin "Google ile oturum aç"
signup "Google ile kaydol"
use "Google ile kullan"

One Tap'te dinleme kullanıcı arayüzü durumu

Tek Dokunuş, daha büyük kullanıcı deneyimi akışınıza sorunsuz şekilde entegre olmak için kullanıcı arayüzü durumu değiştiğinde sizi bilgilendirebilir. Ancak bu özellik, gelecekteki federe kimlik bilgisi yönetimi sürümlerinde desteklenmeyecektir.

Alt alan adları arasında One Tap

Varsayılan olarak, Tek Dokunuş bekleme süresi ve diğer durumlar kaynak başına izlenir. Web siteniz birden fazla alt alan adında One Tap gösteriyorsa bunu API kodunuzda belirtmeniz gerekir.

Statik HTML sayfalarında tek dokunuşla

Coğrafi Bilgi Sistemi kitaplığı, varsayılan olarak web sayfalarınızın dinamik olarak oluşturulduğunu varsayar. HTTP sunucunuz, HTML kodunu oluştururken kullanıcının giriş durumunu kontrol eder.

  • Oturum açmış kullanıcı yoksa kullanıcıların web sitenizde oturum açmasına izin vermek için One Tap'ı tetiklemek üzere One Tap HTML kodu oluşturulan sayfaya eklenmelidir.
  • Kullanıcılar zaten oturum açmışsa sonuçta ortaya çıkan sayfaya Tek Dokunuş HTML kodu eklenmemelidir.

Bu durumda, One Tap HTML API kodunu eklemek veya kaldırmak web sunucunuzun sorumluluğundadır.

One Tap HTML API kodu, çok sayıda statik HTML içeriği barındıran web siteleri için tasarlanmış başka bir şekilde çalışabilir. One Tap HTML API kodunu statik HTML sayfalarınıza istediğiniz zaman ekleyebilir ve web sitenizde kullanılan oturum çerez adı belirtebilirsiniz.

  • Oturum çerezi yoksa Tek Dokunuş akışı tetiklenir.
  • Oturum çerezi varsa Tek Dokunuş akışı atlanır.

Bu durumda, One Tap akışının tetiklenip tetiklenmeyeceği, web sayfanızda One Tap HTML API kodunun varlığı yerine oturum çerezinizi durumunuz tarafından kontrol edilir.

Sunucu tarafı entegrasyonu

One Tap, otomatik oturum açma veya Google ile oturum açma düğmesi kullanıcı deneyimi akışı tamamlandıktan sonra bir kimlik jetonu oluşturulur ve web sitenizle paylaşılır. Kullanıcının kimliğini doğrulamak için kimlik jetonunu almak ve doğrulamak üzere sunucu tarafında bazı değişiklikler yapılması gerekir.

Kullanıcı deneyimi ile ilgili dikkat edilmesi gereken noktalar

Normalde, yanıtları sunucu tarafınızda işlemek için kendi kaynağınıza bir HTTP uç noktası eklemeniz gerekir. Aşağıdaki faktörler, ortaya çıkan kullanıcı deneyimini etkileyebilir.

Aldığınız gerçek kullanıcı deneyimi aşağıda açıklanmaktadır.

  1. Google ile oturum açma düğmesi yönlendirme kullanıcı deneyimi modu için:

    • HTML API'si veya JavaScript API'si kullanılıyorsa giriş URI'sini ayarlamanız gerekir. Kullanıcılar web sayfanızdan yönlendirildiği için yanıtı işlemek üzere JavaScript geri çağırma işlevi kullanılamaz.
    • Kullanıcı deneyimi özeti: Kullanıcılar, Google ile oturum açma düğmesini tıkladıktan sonra oturum seçimi ve onayı için Google kullanıcı arayüzüne yönlendirilen tam sayfa bir yönlendirme görür. İşlem tamamlandıktan sonra, belirttiğiniz giriş URI'sine tam sayfa POST gönderilir.
  2. Tek Dokunuş veya Google ile oturum açma düğmesi pop-up kullanıcı deneyimi modu için JavaScript API'si kullanılıyorsa ya da HTML API'si kullanılıyorsa ve bir JavaScript geri çağırma işlevi sağlanıyorsa:

    • Kimlik doğrulama yanıtları JavaScript geri çağırma işlevine geri gönderilir.
    • Kullanıcı deneyimi özeti: Tek Dokunuş istemi veya bir pop-up pencere, web sayfanızın üzerinde gösterilir. Kullanıcılar oturum seçimi ve onayı için istem veya pop-up pencerede kullanıcı deneyimini tamamladıktan sonra JavaScript geri çağırma işlevi yanıtları alır. Sonraki kullanıcı deneyimi, geri çağırma işlevinizin yanıtları sunucunuza nasıl gönderdiğine bağlıdır.
  3. Aksi takdirde (giriş URI'si içeren HTML API):

    • Kimlik doğrulama yanıtları, giriş URI'sine gönderilir.
    • Kullanıcı deneyimi özeti: Tek Dokunuş istemi veya bir pop-up pencere, web sayfanızın üzerinde gösterilir. Kullanıcılar oturum seçimi ve onayı için istem veya pop-up pencerede kullanıcı deneyimini tamamladıktan sonra, kimlik doğrulama yanıtları, belirttiğiniz giriş URL'sine tam sayfa POST gönderimi kullanılarak gönderilir.

Tek Dokunuş yanıtlarını ve Google ile oturum açma düğmesi yanıtlarını göndermek için tutarlı bir yöntem kullanmanızı öneririz.

Güvenlikle ilgili olarak göz önünde bulundurulması gerekenler

Siteler Arası İstek Sahteciliği saldırılarını önlemek için:

  • Google Kimlik Hizmeti istemci JavaScript kitaplığı tarafından tetiklenen gönderim sonrası için yerleşik çift gönderme çerez kalıbını kullanabilirsiniz. Daha fazla bilgi için Google kimlik jetonunu sunucu tarafında doğrulama başlıklı makaleyi inceleyin.
  • XmlHttpRequest kullanarak kendi kaynağınıza gönderim yapmak için özel HTTP başlığını veya güvenlik ekibiniz tarafından onaylanan diğer güvenlik önlemlerini kullanabilirsiniz.

Kimlik doğrulama yanıtlarındaki kimlik jetonlarını doğrulamak için platformunuz için bir Google API istemci kitaplığı veya genel amaçlı bir JWT kitaplığı kullanmanız önemle tavsiye edilir.

Sık sorulan sorular (SSS)

  • One Tap ve Google ile oturum açma düğmesi web görünümlerinde kullanılabilir mi?

    Hayır. Güvenlik endişeleri nedeniyle kullanıcılar web görünümlerine Google oturumları eklememelidir. Bu nedenle, web görünümlerinde Google oturumlarının bulunmaması gerektiğinden Coğrafi Bilgi Sistemleri devre dışı bırakılır.

  • Kendi Google ile oturum açma düğmemi kullanabilir miyim? Hayır. OAuth sunucu tarafı akışı veya önceki sürüm Google ile oturum açma JavaScript kitaplığıyla, güvenilir taraflar Google ile oturum açma düğmelerinin kendi sürümlerini oluşturmak için Oturum Açma Markalaşma Kuralları'nı kullanabiliyordu.

    Ancak Google ile oturum açma özelliği bu özelliği kaldırdı. Tüm Google ile oturum açma düğmeleri, Google Kimlik Hizmetleri JavaScript kitaplığı tarafından oluşturulmalıdır. Bu değişikliğin iki nedeni vardır.

    • Bazı güvenen taraflar yönergelere uymadı. Bu durum, web sitelerinde Google ile oturum açma düğmelerinin tutarsız olmasına neden oluyor.
    • Kitaplık tarafından oluşturulan öğeleri kullandığınızda, oturum açma markalama kuralları değiştiğinde herhangi bir değişiklik yapmanız gerekmez.

    JavaScript kitaplığı, bu kuralı uygulamak için yalnızca bir düğme oluşturmak için bir API gösterir ancak oturum açma akışını başlatmak için API'yi göstermez.

  • Web sitemde yalnızca One Tap etkinleştirilmişse ancak Google ile oturum açma düğmesi etkinleştirilmemişse ne olur?

    Web sitenizde hem One Tap'i hem de Google ile oturum açma düğmesini kullanmanız önerilir. Üçlü eğimli bekleme süresi nedeniyle Tek Dokunma her zaman gösterilmeyebilir. Kullanıcılar web sitenizde Google Hesaplarıyla oturum açmak istediklerinde ana giriş iletişim kutunuza gidip Google ile oturum açma düğmesiyle oturum açabilirler. Google ile oturum açma düğmesi kullanılarak yapılan başarılı bir oturum açma işlemi, One Tap'in bir sonraki girişte gösterilebilmesi için One Tap bekleme süresini temizler. Farklı JavaScript ikili dosyalarında oldukları için Google'dan gelen diğer düğme akışları, Tek Dokunma bekleme sürelerini temizleyemez.

    Web sitenizde yalnızca Tek Tıklama etkinleştirildiyse ancak Google ile oturum açma düğmesi etkinleştirilmediyse üstel bekleme süreleri zamanında temizlenmediği için Tek Tıklama akışınızda performans düşüşü görebilirsiniz.

  • HTML API kodum ne zaman ayrıştırılır? HTML API kodumu daha sonra değiştirebilir miyim?

    Google Kimlik Hizmetleri JavaScript kitaplığı, HTML API kodunuzu JavaScript kitaplığı yükleme etkinliğinde veya DomContentLoaded etkinliğinden hangisi daha sonraysa ayrıştırır ve yürütür.

    • JavaScript kitaplığı yüklenirken DomContentLoaded etkinliği tetiklenirse HTML API kodunuz ayrıştırılır ve hemen yürütülür.
    • Aksi takdirde JavaScript kitaplığı, DomContentLoaded etkinliği için bir dinleyici ekler. Tetiklendiğinde dinleyici, HTML API kodunuzu ayrıştırır ve yürütür.

    Ayrıca, HTML API kodunuzun ayrıştırılması ve yürütülmesinin tek seferlik bir işlem olduğunu unutmayın.

    • Ayrıştırma ve yürütme işleminden sonra, HTML API kodunuzda yapılan sonraki değişiklikler yoksayılır.
    • Geliştiricilerin ayrıştırma veya yürütme işlemini tetikleyebileceği bir API yoktur.