FedCM'ye geçiş

Bu kılavuz, Federated Credentials Management API (FedCM) tarafından web uygulamanızda yapılan değişiklikleri anlamanıza yardımcı olur.

FedCM etkinleştirildiğinde tarayıcı kullanıcı istemleri gösterir ve üçüncü taraf çerezleri kullanılmaz.

Genel Bakış

FedCM, üçüncü taraf çerezlerinin kullanılmasını gerektirmeden daha gizli oturum açma akışları sağlar. Tarayıcı, kullanıcı ayarlarını kontrol eder, kullanıcı istemlerini gösterir ve yalnızca açık bir kullanıcı izni verildikten sonra Google gibi bir kimlik sağlayıcıyla iletişim kurar.

Çoğu web sitesi için taşıma işlemi, Google Kimlik Hizmetleri JavaScript kitaplığındaki geriye dönük uyumlu güncellemeler sayesinde sorunsuz bir şekilde gerçekleşir.

Otomatik oturum açma özelliğiyle ilgili güncellemeler

Google Kimlik Hizmetleri için Birleşik Kimlik Bilgisi Yönetimi (FedCM) Beta sürümü Ağustos 2023'te kullanıma sunuldu. Birçok geliştirici API'yi test etti ve değerli geri bildirimler verdi.

Google, geliştiricilerden FedCM otomatik oturum açma akışı kullanıcı hareketi şartıyla ilgili bir yanıt aldı. Chrome, daha iyi gizlilik için kullanıcıların web sitesini FedCM kullanıma sunulmadan önce onaylamış olsalar bile her Chrome örneğinde web sitesinde Google Hesabı ile oturum açmak istediklerini yeniden onaylamalarını zorunlu kılar. Bu tek seferlik yeniden onay, kullanıcının oturum açma niyetini göstermek için FedCM ile Tek Dokunuş istemi veya düğme akışı tek tıklamayla sağlanır. Bu değişiklik, bazı web sitelerinde otomatik oturum açma dönüşüm oranlarında başlangıçta bir kesintiye neden olabilir.

Chrome, M121'de FedCM otomatik oturum açma akışı kullanıcı deneyiminde kısa süre önce bir değişiklik yaptı. Yeniden onay yalnızca üçüncü taraf çerezleri kısıtlandığında gereklidir. Bunun anlamı şudur:

  1. FedCM otomatik oturum açma özelliği, geri gelen kullanıcılar için yeniden onay gerektirmez. Kullanıcılar FedCM kullanıcı arayüzüyle yeniden onay yaparsa bu yeniden onay, 3PCD sonrası dönem için kullanıcı hareketi koşuluna dahil edilir.

  2. FedCM otomatik oturum açma özelliği, üçüncü taraf çerezleri şu anda kullanıcılar tarafından manuel olarak veya gelecekteki Chrome'da varsayılan olarak kısıtlandığında yeniden onay durumunu kontrol eder.

Bu değişiklikle birlikte, otomatik oturum açma dönüşüm oranlarında yaşanabilecek kesintileri azaltmak için tüm otomatik oturum açma geliştiricilerin FedCM'ye en kısa sürede geçmesini öneririz.

Web siteniz FedCM'yi etkinleştirmeyi seçse bile GIS JavaScript, otomatik oturum açma akışında eski bir Chrome'da (M121'den önce) FedCM'yi tetiklemez.

Kullanıcı yolculuğu farklılıkları

FedCM kullanan ve FedCM kullanmayan Tek Dokunuş deneyimleri, yalnızca küçük farklılıklarla benzerdir.

Tek oturum gerçekleştiren yeni kullanıcı

FedCM kullanılırken One Tap, uygulama adı yerine üst düzey alan adını gösterir.

FedCM kullanma Birleşik Kimlik Bilgisi Yönetimi olmadan
FedCM kullanan tek oturumlu yeni kullanıcı FedCM içermeyen tek oturumlu yeni kullanıcı

Tek oturum gerçekleştiren geri gelen kullanıcı (otomatik oturum açma devre dışıyken)

FedCM kullanılırken One Tap, uygulama adı yerine üst düzey alan adını gösterir.

FedCM kullanma Birleşik Kimlik Bilgisi Yönetimi olmadan
FedCM'yi kullanan tek oturumlu geri gelen kullanıcı yolculuğu (otomatik oturum açma devre dışıyken) FedCM'siz tek oturumlu geri gelen kullanıcı yolculuğu (otomatik oturum açma devre dışıyken)

Tek oturum gerçekleştiren geri gelen kullanıcı (otomatik oturum açma etkin)

FedCM'yi kullanan kullanıcılar, İptal düğmesini tıklamak yerine 5 saniye içinde otomatik oturum açma özelliğini iptal etmek için X simgesini tıklayabilir.

FedCM kullanma Birleşik Kimlik Bilgisi Yönetimi olmadan
FedCM'yi kullanan tek oturumlu geri gelen kullanıcı yolculuğu (otomatik oturum açma etkin) FedCM'siz tek oturumlu geri gelen kullanıcı yolculuğu (otomatik oturum açma etkin)

Çoklu oturum

FedCM kullanılırken One Tap, uygulama adı yerine üst düzey alan adını gösterir.

FedCM kullanma Birleşik Kimlik Bilgisi Yönetimi olmadan
FedCM kullanan birden çok oturum gerçekleştiren kullanıcı FedCM'siz birden çok oturum gerçekleştiren kullanıcı

FedCM düğme akışı için önemli kullanıcı yolculukları için Google ile oturum açma düğmesi sayfasına bakın.

Başlamadan önce

Tarayıcı ayarlarınızın ve sürümünüzün FedCM API'yi desteklediğini kontrol edin. En son sürüme güncelleme yapmanız önerilir.

  • FedCM API, Chrome 117 veya sonraki sürümlerde kullanılabilir.

  • Chrome'da Üçüncü taraf oturum açma ayarı etkindir. Bu ayar yalnızca Tek Dokunuş'u etkiler ve FedCM düğme akışı üzerinde hiçbir etkisi yoktur.

  • Chrome Tarayıcı sürümünüz 119 veya daha eskiyse chrome://flags'ü açıp deneysel FedCmWithoutThirdPartyCookies özelliğini etkinleştirin. Chrome Tarayıcı 120 veya sonraki sürümlerde bu adım gerekli değildir.

Web uygulamanızı taşıma

FedCM'yi etkinleştirmek, olası taşıma etkisini değerlendirmek ve gerekirse mevcut web uygulamanızda değişiklik yapmak için aşağıdaki adımları uygulayın:

1. Aşağıdakileri kullanarak başlatırken Tek Dokunma için FedCM'yi etkinleştirmek üzere bir boole işareti ekleyin:

2. Aşağıdakileri kullanarak başlatırken Düğme için FedCM'yi etkinleştirmek üzere bir boole bayrağı ekleyin: {:#fedcm_button_flag} (İsteğe bağlı)

  • HTML'de, FedCM düğme akışını etkinleştirmek için data-use_fedcm_for_button özelliğini true olarak ayarlayın. Yalnızca FedCM düğme akışı etkinken yeni otomatik seçim özelliğini etkinleştirmek için data-use_fedcm_for_button özelliğini true olarak da ayarlayabilirsiniz.

  • JavaScript, FedCM düğme akışını etkinleştirmek için IdConfiguration nesnesinde use_fedcm_for_button değerini true olarak ayarlayın. Yalnızca FedCM düğme akışı etkinleştirildiğinde, yeni otomatik seçim özelliğini etkinleştirmek için button_auto_select özelliğini true olarak da ayarlayabilirsiniz.

3. Kodunuzda One Tap için isDisplayMoment(), isDisplayed(), isNotDisplayed() ve getNotDisplayedReason() yöntemlerinin kullanımını kaldırın.

Kullanıcı gizliliğini iyileştirmek için google.accounts.id.prompt geri çağırma işlevi artık PromptMomentNotication nesnesinde herhangi bir görüntüleme anı bildirimi döndürmez. Görüntüleme anı ile ilgili yöntemlere dayanan tüm kodları kaldırın. Bunlar isDisplayMoment(), isDisplayed(), isNotDisplayed() ve getNotDisplayedReason() yöntemleridir.

4. Kodunuzda One Tap için getSkippedReason() yönteminin kullanımını kaldırın.

Atlama anı (isSkippedMoment()), PromptMomentNotication nesnesinde google.accounts.id.prompt geri çağırma işlevinden çağrılmaya devam eder ancak ayrıntılı neden sağlanmaz. getSkippedReason() yöntemine dayalı tüm kodları kodunuzdan kaldırın.

FedCM etkinleştirildiğinde reddedilen an bildirimi (isDismissedMoment()) ve ilgili ayrıntılı neden yöntemi (getDismissedReason()) değişmez.

5. Tek dokunuş için position stil özelliklerini data-prompt_parent_id ve intermediate_iframes öğesinden kaldırın.

Tarayıcı, kullanıcı istemlerinin boyutunu ve konumunu kontrol eder. Masaüstünde Tek Dokunuş için özel konumlar desteklenmez.

6. Tek Dokunuş için gerekirse sayfa düzenini güncelleyin.

Tarayıcı, kullanıcı istemlerinin boyutunu ve konumunu kontrol eder. Sayfaların düzenine bağlı olarak, bazı içerikler üzerine yerleştirilebilir. Çünkü masaüstünde tek dokunuş için özel konumlar stil özelliği, data-prompt_parent_id, intermediate_iframes, özelleştirilmiş iFrame ve diğer reklam öğesi yöntemleri gibi hiçbir şekilde desteklenmez.

Önemli bilgiler gizlendiğinde kullanıcı deneyimini iyileştirmek için sayfa düzenini değiştirin. Varsayılan konumda olduğunu varsaysa bile kullanıcı deneyiminizi Tek Dokunma istemi etrafında oluşturmayın. FedCM API tarayıcı aracılı olduğundan farklı tarayıcı satıcıları istemi biraz farklı bir konuma yerleştirebilir.

7. Web uygulamanız kaynak farklı iframe'lerden One Tap veya Button API'yi çağırıyorsa allow="identity-credentials-get" özelliğini üst çerçeveye ekleyin.

Bir iframe'in kökü, üst kaynağın köküyle tam olarak aynı değilse kökler arası olarak kabul edilir. Örnek:

  • Farklı alanlar: https://example1.com ve https://example2.com
  • Farklı üst düzey alanlar: https://example.uk ve https://example.jp
  • Alt alan adları: https://example.com ve https://login.example.com

Tek Tıklama özelliği, kaynak farklı bir iframe'de kullanıldığında kullanıcılar kafa karıştırıcı bir deneyimle karşılaşabilir. Tek Dokunma istemi, kimlik bilgisi toplamayı önlemek için güvenlik önlemi olarak iframe'in değil, üst düzey alanın adını gösterir. Ancak kimlik jetonları iFrame'in kaynağına verilir. Daha fazla bilgi için bu GitHub sorununu inceleyin.

Bu tutarsızlık yanıltıcı olabileceğinden, yalnızca çapraz kaynaklı ancak aynı sitedeki iFrame'lerde Tek Dokunuş'un kullanılması desteklenen bir yöntemdir. Örneğin, https://www.example.com üst düzey alan adındaki bir sayfa, https://login.example.com'da Tek Dokunma özelliğine sahip bir sayfayı yerleştirmek için iframe kullanıyor. One Tap isteminde "example.com adresinde google.com ile oturum açın" ifadesi gösterilir.

Farklı alanlar gibi diğer tüm durumlar desteklenmez. Bunun yerine aşağıdaki gibi alternatif entegrasyon yöntemlerini kullanabilirsiniz:

  • FedCM etkinleştirilmeden Google ile oturum açma düğmesi'ni uygulama
  • Üst düzey alanda Tek Dokunuş'u uygulama
  • Daha fazla özelleştirilmiş entegrasyon için Google OAuth 2.0 uç noktalarını kullanma
  • Bir üçüncü taraf sitesini bir iframe'e yerleştiriyorsanız ve One Tap uygulamasını değiştiremiyorsanız One Tap isteğinin iframe'de görünmesini engelleyebilirsiniz. Bunu yapmak için üst çerçevedeki iframe etiketinden allow="identity-credentials-get" özelliğini kaldırın. Bu işlem, istemi engeller ve kullanıcılarınızı doğrudan yerleştirilmiş sitenin oturum açma sayfasına yönlendirebilirsiniz.

One Tap veya Button API, kaynakta farklı olan iframe'lerden çağrıldığında her üst çerçeve iframe etiketine allow="identity-credentials-get" özelliğini eklemeniz gerekir:

  <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>

Uygulamanız başka bir iFrame içeren bir iFrame kullanıyorsa özelliğin tüm alt iFrame'ler dahil her iFrame'e eklendiğinden emin olmanız gerekir.

Örneğin, aşağıdaki senaryoyu inceleyin:

  • Üst doküman (https://www.example.uk), bir sayfayı (https://logins.example.com) yerleştiren "Iframe A" adlı bir iframe içerir.

  • Bu yerleştirilmiş sayfa (https://logins.example.com), "Iframe B" adlı bir iframe de içerir. Bu iframe, Tek Dokunuş veya Düğme'yi barındıran bir sayfayı (https://onetap.example2.com) daha da yerleştirir.

    Tek Dokunma veya Düğme'nin düzgün şekilde gösterilebilmesi için özelliğin hem Iframe A hem de Iframe B etiketlerine eklenmesi gerekir.

    Tek Dokunma istemi veya düğmenin gösterilmemesi ile ilgili sorulara hazırlıklı olun. Farklı kaynaklara sahip diğer siteler, One Tap'i barındıran sayfalarınızı kendi iFrame'lerine yerleştirebilir. Son kullanıcılardan veya diğer site sahiplerinden Tek Dokunuş'un ya da düğmenin gösterilmemesiyle ilgili daha fazla destek kaydı alabilirsiniz. Güncellemeler yalnızca site sahipleri tarafından kendi sayfalarında yapılabilir. Bununla birlikte, etkiyi azaltmak için şunları yapabilirsiniz:

  • Geliştirici dokümanlarınızı, sitenizi çağıracak şekilde iframe'i doğru şekilde ayarlama talimatlarını içerecek şekilde güncelleyin. Belgelerinizde bu sayfaya bağlantı verebilirsiniz.

  • Varsa geliştirici SSS sayfanızı güncelleyin.

  • Destek ekibinize yaklaşan bu değişikliği bildirin ve sorguya verilecek yanıtı önceden hazırlayın.

  • FedCM'ye sorunsuz bir geçiş için etkilenen iş ortakları, müşteriler veya site sahipleriyle proaktif olarak iletişime geçin.

8. Bu yönergeleri İçerik Güvenliği Politikanıza (İGP) ekleyin.

Tüm web siteleri CSP tanımlamayı tercih etmediğinden bu adım isteğe bağlıdır.

  • Web sitenizde CSP kullanılmıyorsa herhangi bir değişiklik yapmanız gerekmez.

  • CSP'niz mevcut Tek Dokunma veya Düğme özelliği için çalışıyorsa ve connect-src, frame-src, script-src, style-src veya default-src kullanmıyorsanız herhangi bir değişiklik yapmanız gerekmez.

  • Aksi takdirde, CSP'nizi ayarlamak için bu kılavuzu uygulayın. Doğru CSP ayarı olmadan FedCM Tek Dokunma veya Düğme sitede gösterilmez.

9. Giriş için Accelerated Mobile Pages (AMP) desteğini kaldırın.

AMP için kullanıcı oturum açma desteği, web uygulamanızın uygulamış olabileceği isteğe bağlı bir Coğrafi Bilgi Sistemi özelliğidir. Böyle bir durumda,

Aşağıdakilere dair tüm referansları silebilirsiniz:

  • amp-onetap-google özel öğesi ve
  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    AMP'den gelen oturum açma isteklerini web sitenizin HTML oturum açma akışına yönlendirebilirsiniz. İlgili Intermediate Iframe Support API'nin bu durumdan etkilenmediğini unutmayın.

Taşıma işleminizi test etme ve doğrulama

Önceki adımlara göre gerekli değişiklikleri yaptıktan sonra taşıma işleminin başarılı olup olmadığını doğrulayabilirsiniz.

  1. Tarayıcınızın FedCM'yi desteklediğini ve mevcut bir Google Hesabı oturumunuzun olduğunu onaylayın.

  2. Uygulamanızda Tek Dokunuş veya Düğme sayfalarına gidin.

  3. Tek Dokunma isteğinin veya düğmesinin gösterildiğinden ve temel içeriğin üzerine güvenli bir şekilde yerleştirildiğinden emin olun.

  4. Uygulamanızda Tek Dokunuş veya Düğme kullanılarak oturum açıldığında doğru kimlik bilgisinin uç noktanıza veya geri çağırma yönteminize döndürüldüğünü onaylayın.

  5. Otomatik oturum açma etkinse iptal işleminin çalıştığını ve uç noktanıza veya geri çağırma yönteminize doğru kimlik bilgilerinin döndürüldüğünü doğrulayın.

One Tap bekleme süresi

Sağ üst köşedeki Tek Dokun simgesini tıkladığınızda istem kapatılır ve Tek Dokun isteminin geçici olarak gösterilmesini engelleyen bekleme süresi başlar. Chrome'da, bekleme süresi sona ermeden önce Tek Dokunma isteminin tekrar gösterilmesini istiyorsanız adres çubuğundaki kilit simgesini ve İzni Sıfırla düğmesini tıklayarak bekleme durumunu sıfırlayabilirsiniz.

Otomatik oturum açma sessiz dönemi

FedCM kullanılarak otomatik oturum açma One Tap özelliği test edilirken her otomatik oturum açma denemesi arasında 10 dakikalık bir sessiz dönem vardır. Sessiz dönem sıfırlanamaz. Otomatik oturum açma özelliğini tekrar tetiklemek için 10 dakika beklemeniz veya test için farklı bir Google Hesabı kullanmanız gerekir.

Yararlı kaynaklar

Özel Korumalı Alan Analiz Aracı (PSAT), FedCM gibi alternatif API'lerin benimsenmesine yardımcı olan bir Chrome DevTools uzantısıdır. Bu araç, sitenizi etkilenen özellikler açısından tarar ve önerilen değişikliklerin listesini sunar.