Federated Credential Management API'sine genel bakış

Gizliliği korumaya yönelik kimlik federasyonu için bir web API'si.

FedCM nedir?

FedCM (Federated Credential Management - Birleşik Kimlik Bilgisi Yönetimi), üçüncü taraf çerezlerine veya gezinme yönlendirmelerine ihtiyaç duymayan, birleşik kimlik hizmetlerine (ör. "... ile oturum aç") yönelik gizliliği korumaya yönelik bir yaklaşımdır.

Uygulama durumu

Bundan sonra, kimlik sağlayıcılardan (IdP), güvenen taraflardan (RP) ve tarayıcı tedarikçilerinden aldığımız geri bildirimlere dayanarak bir dizi yeni özellik sunmayı planlıyoruz. Kimlik sağlayıcıların FedCM'yi benimseyeceğini umuyoruz ancak FedCM'nin hâlâ aktif olarak geliştirilmekte olan bir API olduğunu unutmayın.

Geriye dönük uyumlu olmayan değişiklikleri dağıtmanın zorluklarını en aza indirmek için kimlik sağlayıcılar için iki önerimiz var:

  • API geliştikçe güncellemeler göndereceğimiz bültenimize abone olun.
  • IdP'lerin, API olgunlaşırken JavaScript SDK'larını kullanarak FedCM API'yi dağıtmasını ve RP'lerin SDK'ları kendi kendine barındırmasını engellemesini öneririz. Bu sayede kimlik sağlayıcılar, API geliştikçe tüm güvenen taraflarından yeniden dağıtma isteğinde bulunmak zorunda kalmadan değişiklik yapabilir.

FedCM'ye neden ihtiyacımız var?

Son on yılda kimlik federasyonu, web'de kimlik doğrulama çıtasını site başına kullanıcı adları ve şifrelere kıyasla güvenilirlik, kullanım kolaylığı (ör. şifresiz tek oturum açma) ve güvenlik (ör. kimlik avı ve kimlik bilgisi doldurma saldırılarına karşı daha iyi direnç) açısından yükseltmede merkezi bir rol oynadı.

Kimlik federasyonunda, RP (güvenilir taraf), kullanıcıya yeni bir kullanıcı adı ve şifre gerekmeden hesap sağlamak için bir IdP'ye (kimlik sağlayıcı) güvenir.

Maalesef kimlik federasyonunun kullandığı mekanizmalar (iFrame'ler, yönlendirmeler ve çerezler), kullanıcıları web'de izlemek için aktif olarak kötüye kullanılıyor. Kullanıcı aracısı, kimlik federasyonu ile izlemeyi ayırt edemediğinden, çeşitli kötüye kullanım türlerine yönelik azaltıcı önlemler kimlik federasyonunun dağıtımını daha da zorlaştırır.

Federated Credential Management API (FedCM), kullanıcıların web sitelerine giriş yapmak için kimlik sağlayıcılardan hesap seçmesine olanak tanıyan, tarayıcı aracılı bir iletişim kutusu sunarak web'deki birleşik kimlik akışları için kullanım alanına özel bir soyutlama sağlar.

FedCM, web'deki kimliği iyileştirmeye yönelik çok adımlı bir yolculuktur. İlk adımda, üçüncü taraf çerez kısıtlamalarının birleşik kimlik üzerindeki etkisini azaltmaya odaklanıyoruz (Daha fazla adım için Yol Haritası bölümüne bakın).

Kullanıcı, FedCM'yi kullanarak bir RP'de oturum açıyor.

Nelerin etkilenmesini bekliyoruz?

Topluluk çabaları ve yaptığımız araştırmalar sonucunda, üçüncü taraf çerez kısıtlamalarından etkilenen kimlik federasyonuyla ilgili birkaç entegrasyon olduğunu öğrendik:

FedCM'nin ilk hedefi, üçüncü taraf çerez kısıtlamalarının kimlik federasyonu üzerindeki etkisini azaltmaktır. Bu, etkilenmesini beklediğimiz alanlardır. Listede yer almayan başka kullanım alanları varsa etkileşim kurabilir ve geri bildirim paylaşabilirsiniz.

Diğer API'ler için güven sinyali olarak FedCM

FedCM, birleşik kimliği yönetmenin yanı sıra diğer Özel Korumalı Alan API'leri için güven sinyali görevi de görür.

Chrome 131'den itibaren Storage Access API (SAA), güven sinyali olarak FedCM'yi kullanır. Bu entegrasyon, hem kimlik doğrulama için FedCM'den hem de kaynak dışı iFrame'lerin gerekli depolamaya erişmesini sağlamak için SAA'dan yararlanan web siteleri için yararlıdır.

Bir kullanıcı, RP'nin etkinleştirilmesiyle FedCM ile kimlik doğrulaması yaptığında, IdP'nin RP'nin web sitesine yerleştirilmiş içeriği, ek bir kullanıcı istemi gerekmeden kendi üst düzey çerezlerine otomatik olarak depolama erişimi elde etmek için requestStorageAccess() yöntemini çağırabilir. İzin yalnızca kullanıcının FedCM ile oturum açtığı ve FedCM oturum açma durumu etkin olduğu sürece otomatik olarak verilir. Daha fazla bilgi için Storage Access API belgelerini okuyun.

FedCM'yi kimler kullanmalıdır?

FedCM'nin yalnızca aşağıdaki koşulların tümü geçerliyse sizin için yararlı olacağını umuyoruz:

  1. Kimlik sağlayıcı (IdP) iseniz.
  2. Üçüncü taraf çerez kısıtlamalarından etkileniyorsunuz.
  3. RP'leriniz üçüncü taraf siteleriyse. RP'leriniz anlamlı bir şekilde alakalı sitelerse ilgili web sitesi grupları sizin için daha iyi olabilir.

IdP'siniz

FedCM için bir kimlik sağlayıcıdan destek alınması gerekir. Güvenen taraf, FedCM'yi bağımsız olarak kullanamaz. RP iseniz kimlik sağlayıcınızdan talimat vermesini isteyebilirsiniz.

Üçüncü taraf çerez kısıtlamalarından etkileniyorsanız

FedCM'yi yalnızca mevcut entegrasyonunuz üçüncü taraf çerez kısıtlamalarından etkileniyorsa kullanmalısınız.

Kimlik federasyonunuzun üçüncü taraf çerezleri kullanılamadığında çalışmaya devam edip etmeyeceğinden emin değilseniz Chrome'da üçüncü taraf çerezlerini engelleyerek bu durumun bir web sitesindeki etkisini test edebilirsiniz.

Üçüncü taraf çerezleri olmadan kimlik federasyonunuz üzerinde keşfedilebilir bir etki yoksa FedCM olmadan mevcut entegrasyonunuzu kullanmaya devam edebilirsiniz.

Neleri kontrol etmeniz gerektiğinden emin değilseniz üçüncü taraf çerez kısıtlamalarının etkilemesi beklenen bilinen özellikler hakkında daha fazla bilgi edinin.

RP'leriniz üçüncü taraftır

RP'leri IdP ile birinci taraf ilişkisi olan bir kimlik sağlayıcıysanız İlgili Web Sitesi Grupları daha iyi bir seçenek olabilir. İlgili Web Sitesi Grupları (RWS), kuruluşların siteler arasındaki ilişkileri tanımlamasını sağlar. Böylece tarayıcılar, üçüncü taraf çerezinin belirli amaçlar doğrultusunda sınırlı şekilde erişimine izin verebilir. Bu, üçüncü taraf çerezleri başka şekilde kısıtlanmış olsa bile üçüncü taraf çerezlerinin anlamlı bir şekilde ilişkili site grupları arasında çalışmasına olanak tanır.

Kullanıcılar FedCM ile nasıl etkileşim kuracak?

FedCM'nin birincil odak noktası, üçüncü taraf çerez kısıtlamalarının etkisini azaltmaktır. Kullanıcılar, Chrome'un kullanıcı ayarlarından FedCM'yi etkinleştirebilir veya devre dışı bırakabilir.

FedCM, protokolden bağımsız olacak şekilde tasarlanmıştır ve kimlik doğrulamayla ilgili aşağıdaki işlevleri sunar.

İşleyiş şeklini öğrenmek için demomuza göz atın.

Güvenilir bir tarafta oturum açma

Kullanıcı, FedCM'yi kullanarak bir kısıtlanmış tarafta oturum açar.

Kullanıcı, güvenen taraf (RP) web sitesine ulaştığında, IdP'de oturumu açıksa FedCM oturum açma iletişim kutusu gösterilir.

Kullanıcının, IdP'de RP hesabının olmaması durumunda, RP'nin hizmet şartları ve varsa gizlilik politikası gibi ek açıklama metinlerinin yer aldığı bir kayıt iletişim kutusu gösterilir.

Kullanıcı, Böyle devam et'e dokunarak oturum açma işlemini tamamlayabilir. İşlem başarılı olursa tarayıcı, kullanıcının IdP ile RP'de birleşik bir hesap oluşturduğunu depolar.

RP'lerin, FedCM'yi desteklemeyen tarayıcılarda çalışması beklenir. Kullanıcılar, FedCM olmayan mevcut bir oturum açma sürecini kullanabilmelidir. FedCM'de oturum açma işleminin işleyiş şekli hakkında daha fazla bilgi edinin.

FedCM'yi etkinleştirmek veya devre dışı bırakmak için ayarlar

Kullanıcılar, Android'de Chrome'un ayarlarından FedCM'yi etkinleştirebilir veya devre dışı bırakabilir. Ayarlar > Site ayarları > Üçüncü taraf oturum açma'ya gidin ve açma/kapatma düğmesini değiştirin.

Üçüncü taraf oturum açma özelliğini etkinleştirerek mobil cihazlardaki Chrome Ayarları'nda FedCM'yi etkinleştirin.

Kullanıcılar, chrome://settings/content/federatedIdentityApi adresine giderek masaüstünde Chrome için de aynı işlemi yapabilir.

Üçüncü taraf oturum açma özelliğini etkinleştirerek FedCM'yi masaüstündeki Chrome Ayarları'nda etkinleştirin.

İstem bekleme süresi

Kullanıcı kullanıcı arayüzünü manuel olarak kapatırsa ayarlar kullanıcı arayüzüne geçici olarak bir giriş eklenir ve kullanıcı arayüzü bir süre boyunca aynı web sitesinde gösterilmez. Kullanıcı arayüzü, süre dolduktan sonra yeniden etkinleştirilir ancak art arda kapatma işlemi yapıldığında süre katlanarak artırılır. Örneğin, Chrome'da:

Arka arkaya kapalı kalma sayısı FedCM isteğinin atlandığı dönem
1 İki saat
2 Bir gün
3 Bir hafta
4+ Dört hafta

Diğer tarayıcılar kendi farklı bekleme sürelerini tanımlayabilir.

Kullanıcılar, ayarlar sayfasına giderek veya PageInfo kullanıcı arayüzünü (URL çubuğunun yanındaki kilit simgesi) tıklayıp izni sıfırlayarak FedCM'yi RP'de manuel olarak yeniden etkinleştirebilir.

Yol Haritası

FedCM'de bir dizi değişiklik yapmayı planlıyoruz. Daha fazla ayrıntı için Güncellemeler bölümüne bakın.

  • Değişiklik Günlüğü: Federated Credential Management API güncellemeleri.

Kimlik sağlayıcılardan, RP'lerden ve tarayıcı tedarikçilerinden duyduğumuz sorunlar da dahil olmak üzere hâlâ yapılması gereken birkaç şey olduğunu biliyoruz. Bu sorunları nasıl çözeceğimizi biliyoruz:

  • Kaynaklar arası iframe desteği: IdP'ler, kaynakta farklı bir iframe içinden FedCM'yi çağırabilir (güncelleme).
  • Kişiselleştirilmiş düğme: IdP'ler, geri gelen kullanıcının kimliğini IdP'ye ait bir kaynak dışı iFrame'den (güncelleme) oturum açma düğmesinde gösterebilir.
  • Metrikler uç noktası: Kimlik sağlayıcılara performans metrikleri sağlar.

Ayrıca, değerlendirdiğimiz veya prototipini oluşturduğumuz belirli öneriler de dahil olmak üzere aktif olarak araştırdığımız çözülmemiş sorunlar da var:

Son olarak, Mozilla, Apple ve TAG incelemecilerinden aldığımız geri bildirimler doğrultusunda yapılması gerektiğini düşündüğümüz bazı şeyler var. Aşağıdaki açık sorular için en iyi çözümleri değerlendirmeye çalışıyoruz:

  • Kullanıcıların anlayışını ve eşleştirme amacını iyileştirme: Mozilla'nın belirttiği gibi, farklı kullanıcı deneyimi formüllerini ve yüzey alanlarını, ayrıca tetikleyici ölçütleri keşfetmeye devam etmek istiyoruz.
  • Kimlik Özellikleri ve Seçmeli Açıklama: TAG İnceleme Ekibimizin belirttiği gibi, kimlik özelliklerini (ör. e-postalar, yaş grupları, telefon numaraları vb.) daha fazla veya daha az seçerek paylaşabileceğiniz bir mekanizma sunmak istiyoruz.
  • Gizlilikle İlgili Özellikleri Geliştirme: Mozilla'nın standartlar konusundaki görüşünde belirtildiği gibi, daha iyi gizlilik garantileri sunmak için kimlik sağlayıcı körlüğü ve yönlendirilmiş tanımlayıcı gibi mekanizmaları keşfetmeye devam etmek istiyoruz.
  • WebAuthn ile ilişki: Apple tarafından önerildiği gibi, geçiş anahtarlarıyla ilgili ilerlemeyi görmek ve FedCM, Şifreler, WebAuthn ve WebOTP arasında tutarlı ve uyumlu bir deneyim sunmak için çalışma yapmaktan heyecan duyuyoruz.
  • Giriş Durumu: Apple'ın Privacy CG'nin Giriş Durumu API'sinde önerdiği gibi, kullanıcının giriş durumunun tarayıcıların bilinçli kararlar almasına yardımcı olabilecek yararlı bir bilgi olduğu konusunda hemfikiriz ve bu durumun ne gibi fırsatlar sunacağını görmekten heyecan duyuyoruz. (update)
  • İşletmeler ve Eğitim: FedID CG'de de belirtildiği gibi, FedCM tarafından yeterince desteklenmeyen ve üzerinde çalışmak istediğimiz birçok kullanım alanı vardır. Örneğin, ön kanalda çıkış yapma (bir kimlik sağlayıcının çıkış yapmak için RP'lere sinyal gönderme özelliği) ve SAML desteği.
  • mDL'ler/VC'ler/vb. ile ilişki: Bu özelliklerin FedCM'ye nasıl uyduğunu anlamak için çalışmaya devam edin (ör. Mobil Belge İsteği API).

FedCM API'sini kullanma

FedCM'yi kullanmak için Chrome'da hem kimlik sağlayıcıda hem de RP'de güvenli bir bağlama (HTTPS veya localhost) ihtiyacınız vardır.

FedCM ile entegrasyon için hesap listesi, beyan yayınlama ve (isteğe bağlı olarak) müşteri meta verileri için iyi bilinen bir dosya, yapılandırma dosyası ve uç noktalar oluşturmanız gerekir. FedCM, buradan RP'lerin IdP ile oturum açmak için kullanabileceği JavaScript API'lerini gösterir.

FedCM API'yi nasıl kullanacağınızı öğrenmek için FedCM geliştirici kılavuzunu inceleyin.

Etkileşim kurma ve geri bildirim paylaşma

E-Gizlilik yasalarına uygunluk

FedCM'yi bir kimlik sağlayıcı veya RP olarak kullanmak, kullanıcının terminal ekipmanında bilgi depolanmasını ya da depolanmış bilgilere erişilmesini gerektirir. Bu nedenle, Avrupa Ekonomik Alanı (AEA) ve Birleşik Krallık'taki e-Gizlilik yasalarına tabi olan ve genellikle kullanıcı rızası gerektiren bir etkinliktir. FedCM'yi kullanımınızın, kullanıcı tarafından açıkça istenen bir online hizmeti sağlamak için kesinlikle gerekli olup olmadığını ve bu nedenle rıza şartından muaf olup olmadığını belirlemek sizin sorumluluğunuzdadır. Daha fazla bilgi için Özel Korumalı Alan Gizlilik ile İlgili Sık Sorulan Sorular bölümünü okumanızı öneririz.