Birleşik Kimlik Bilgisi Yönetimi API'si

Gizliliği koruyan kimlik federasyonu için web API'si.

FedCM nedir?

FedCM (Federated Credential Management), kullanıcıların kişisel bilgilerini kimlik hizmetiyle veya siteyle paylaşmadan sitelere giriş yapabileceği birleşik kimlik hizmetlerine (ör. "... ile oturum aç...") yönelik gizliliği koruyan bir yaklaşımdır.

Uygulama durumu

Gelecekte kimlik sağlayıcılardan (IdP), bağlı taraflardan (RP) ve tarayıcı tedarikçilerinden aldığımız geri bildirimlere göre bir dizi yeni özelliği kullanıma sunmayı planlıyoruz. Kimlik sağlayıcıların FedCM'yi kullanmaya başlayacağını umsak da FedCM'nin hâlâ aktif geliştirme aşamasında olan bir API olduğunu ve 2023'ün 4. çeyreğine kadar geriye dönük olarak uyumsuz değişiklikler beklenebileceğini lütfen unutmayın.

Geriye dönük olarak uyumsuz değişikliklerin uygulanmasıyla ilgili zorlukları en aza indirmek için şu anda kimlik sağlayıcılara yönelik iki önerimiz bulunmaktadır:

  • API geliştikçe güncellemeler göndereceğimiz bültenimize abone olun.
  • IdP'lerin, API gelişirken FedCM API'yi JavaScript SDK'ları aracılığıyla dağıtmasını ve kendi kendini barındıran SDK'lardan gelen kısıtlanmışların önüne geçmelerini öneririz. Bu sayede IdP'ler, tüm bağlı taraflarından yeniden dağıtım istemek zorunda kalmadan API geliştikçe değişiklik yapabilir.

FedCM'ye neden ihtiyacımız var?

Son on yılda kimlik federasyonu, web'de kimlik doğrulama çıtasını yükseltmede önemli bir rol oynamıştır. Site bazında kullanıcı adı ve şifrelerle karşılaştırıldığında güvenilirlik, kullanım kolaylığı (örneğin, şifresiz tek oturum açma) ve güvenlik (örneğin, kimlik avı ve kimlik bilgisi doldurma saldırılarına karşı iyileştirilmiş direnç) gösterilebilir.

Kimlik federasyonuyla, bir RP (bağlı taraf) kullanıcıya yeni bir kullanıcı adı ve şifre gerektirmeden bir hesap sağlaması için bir IdP'den (kimlik sağlayıcı) yararlanır.

Ne yazık ki, kimlik federasyonunun kullandığı mekanizmalar (iframe'ler, yönlendirmeler ve çerezler) web'de kullanıcıları izlemek için etkin şekilde kötüye kullanılıyor. Kullanıcı aracısı, kimlik federasyonu ile izlemeyi birbirinden ayırt edemediği için çeşitli kötüye kullanım türlerine yönelik çözümler, kimlik federasyonu dağıtımını daha zor hale getirir.

FedCM (Birleşik Kimlik Bilgisi Yönetimi API'si) (FedCM) kullanıcıların web sitelerine giriş yapmak için IdP'lerden 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ıma özel bir soyutlama sağlar.

FedCM, web'de kimliği daha iyi hale getirmeyi amaçlayan çok adımlı bir yolculuktur. İlk olarak, üçüncü taraf çerezlerinin kullanımdan kaldırılmasının birleşik kimlik üzerindeki etkisini azaltmaya odaklanıyoruz (Daha ayrıntılı bilgi için Yol haritası bölümüne bakın).

Bir kullanıcı FedCM'yi kullanarak bir kısıtlanmış tarafla oturum açıyor

Bu durumdan nelerin etkilenmesini bekliyoruz?

Topluluk çalışması ve araştırmamız sonucunda, üçüncü taraf çerezlerinin kullanımdan kaldırılmasından etkilenen, kimlik federasyonu ile ilgili birkaç entegrasyon olduğunu öğrendik:

FedCM'nin ilk hedefi, üçüncü taraf çerezlerinin kullanımdan kaldırılmasının kimlik federasyonu üzerindeki etkisini azaltmaktır. Aşağıda, bu durumdan etkilenmesini beklediğimiz alanların bir listesi yer almaktadır. Listelenmemiş başka kullanım alanları varsa etkileşime geçip geri bildirim paylaşmanızı öneririz.

FedCM'yi kimler kullanmalıdır?

FedCM'nin yalnızca aşağıdaki tüm koşulların geçerli olması durumunda sizin için yararlı olmasını bekliyoruz:

  1. Kimlik sağlayıcı (IdP) iseniz.
  2. Üçüncü taraf çerezlerinin kullanımdan kaldırılmasından etkileniyorsunuz.
  3. Kısıtlanmış taraflarınız üçüncü taraf sitelerdir. RP'leriniz anlamlı bir şekilde birbiriyle alakalı sitelerse İlgili Web Sitesi Grupları size daha iyi hizmet verebilir.

IdPyseniz

FedCM için bir kimlik sağlayıcıdan destek almanız gerekir. Bağlı taraflar FedCM'yi bağımsız kullanamaz. Kısıtlanmış tarafsanız IdP'nizden talimatları sağlamasını isteyebilirsiniz.

Üçüncü taraf çerezlerinin kullanımdan kaldırılmasından etkileniyorsunuz

FedCM'yi yalnızca mevcut entegrasyonunuz üçüncü taraf çerezlerinin kullanımdan kaldırılmasından etkileniyorsa kullanmalısınız.

Chrome'un üçüncü taraf çerezleri için kullanımdan kaldırma işleminden sonra kimlik federasyonunuzun çalışmaya devam edip etmeyeceğinden emin değilseniz Chrome'da üçüncü taraf çerezlerini engelleyerek bir web sitesi üzerindeki etkisini test edebilirsiniz.

Üçüncü taraf çerezler olmadan kimlik federasyonunuz üzerinde bulunabilir bir etki yoksa mevcut entegrasyonunuzu FedCM olmadan kullanmaya devam edebilirsiniz.

Neleri kontrol etmeniz gerektiğinden emin değilseniz aşamalı olarak kullanımdan kaldırma sürecinin etkilemesi beklenen bilinen özellikler hakkında daha fazla bilgi edinin.

Kısıtlanmış taraflarınız üçüncü taraftır

RP'leri ile IdP ile birinci taraf ilişkisi olan bir kimlik sağlayıcıysanız İlgili Web Sitesi Grupları'nın daha iyi bir seçenek olabileceğini düşünüyoruz. İlişkili Websitesi Grupları (RWS), bir kuruluşun siteler arasındaki ilişkileri beyan ederek tarayıcıların belirli amaçlar için sınırlı üçüncü taraf çerezlerine erişmesine izin vermesini sağlayan bir yöntemdir. Bu, üçüncü taraf çerezlerinin, üçüncü taraf çerezlerinin kullanımdan kaldırılmasının ardından bile 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?

Şu anda FedCM'nin birincil odak noktası, üçüncü taraf çerez aşaması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 demomuzu inceleyin.

Bağlı bir taraf hesabında oturum aç

Bir kullanıcı FedCM'yi kullanarak bir kısıtlanmış tarafla oturum açıyor

Kullanıcı bağlı taraf (RP) web sitesine ulaştığında, IdP'de oturum açmışsa bir FedCM oturum açma iletişim kutusu görüntülenir.

Kullanıcının IdP'ye bağlı RP'de hesabı yoksa kısıtlanmış tarafın hizmet şartları ve sağlanmışsa gizlilik politikası gibi ek açıklama metinleri içeren bir kayıt iletişim kutusu gösterilir.

Kullanıcı Şu kullanıcı olarak devam et... seçeneğine dokunarak oturum açma işlemini tamamlayabilir. İşlem başarılı olursa tarayıcı, kullanıcının RP üzerinde, IdP ile birleşik bir hesap oluşturduğu gerçeğini depolar.

RP'lerin, FedCM'yi desteklemeyen tarayıcılarda çalışması beklenir. Kullanıcılar mevcut, FedCM olmayan bir oturum açma işlemini kullanabilmelidir. FedCM'de oturum açmanın nasıl çalıştığı hakkında daha fazla bilgi edinin.

FedCM'yi etkinleştirme veya devre dışı bırakma ayarı

Kullanıcılar, Android'deki Chrome ayarlarından FedCM'yi etkinleştirebilir veya devre dışı bırakabilir. Ayarlar > Site ayarları > Üçüncü taraf oturum açma bölümüne gidip açma/kapatma düğmesini değiştirin.

Üçüncü taraf oturum açmayı seçerek mobil cihazlarda Chrome Ayarları'nda FedCM'yi etkinleştirin

Aynı işlemi chrome://settings/content/federatedIdentityApi adresine giderek masaüstünde Chrome için de yapabilirler.

Üçüncü taraf oturum açmayı seçerek masaüstünde Chrome Ayarları'nda FedCM'yi etkinleştirin

Yol Haritası

FedCM'de birkaç değişiklik yapmak için çalışıyoruz.

Geri bildirimler doğrultusunda daha önce çeşitli güncellemeler uygulandı. Ayrıca en azından stabil hale getirmek için 2023'ün 4. çeyreğine kadar gelişmeye devam etmesi bekleniyor. Daha fazla ayrıntı için lütfen Güncellemeler'e bakın.

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

IdP'ler, RP'ler ve tarayıcı tedarikçilerinden dinlediğimiz sorunlar da dahil olmak üzere hâlâ yapılması gereken birkaç şey var. Bu sorunları nasıl çözeceğimizi bildiğimize inanıyoruz:

  • Kaynaklar arası iframe desteği: IdP'ler, FedCM'yi kaynaklar arası iframe içinden çağırabilir (update).
  • Kişiselleştirilmiş düğme: IdP'ler, IdP'ye ait bir çapraz kaynak iframe'deki oturum açma düğmesinde geri gelen kullanıcının kimliğini gösterebilir (update).
  • Metrics uç noktası: IdP'lere performans metriklerini sağlar.

Buna ek olarak, değerlendirdiğimiz veya prototipini oluşturmakta olduğumuz belirli teklifler dahil olmak üzere aktif olarak araştırdığımız çözülmemiş sorunlar da bulunmaktadır:

Son olarak, Mozilla, Apple ve TAG incelemecilerinden gelen geri bildirimlere dayanarak hâlâ yapılması gerektiğini düşündüğümüz şeyler var. Şu açık sorular için en iyi çözümleri değerlendirmeye çalışıyoruz:

  • Kullanıcının daha iyi anlamasını ve eşleştirme amacını geliştirme: Mozilla'nın da belirttiği gibi, farklı kullanıcı deneyimi formülasyonlarını, yüzey alanlarını ve tetikleme ölçütlerini keşfetmeye devam etmek istiyoruz.
  • Kimlik Özellikleri ve Seçmeli Açıklama: Etiket İncelemecilerimizin de belirttiği gibi, kimlik özelliklerinin (ör. e-postalar, yaş grubu, telefon numaraları vb.) seçici bir şekilde paylaşılacağı bir mekanizma sağlamak istiyoruz.
  • Gizlilik Özelliklerini Yükseltme: Mozilla'nın burada önerdiği gibi, daha iyi gizlilik garantileri (IdP körlüğü ve yönlendirilen tanımlayıcılar gibi) sunmaya yönelik mekanizmaları araştırmaya devam etmek istiyoruz.
  • WebAuthn ile ilişki: Apple tarafından önerildiği gibi, geçiş anahtarları ile ilgili ilerlemeyi görmek ve FedCM, Passwords, WebAuthn ve WebOTP arasında tutarlı ve tutarlı bir deneyim sağlamak için çalışmaktan çok heyecan duyuyoruz.
  • Giriş Durumu: Apple'ın, Gizlilik 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 faydalı bir bilgi olduğu sezgisini paylaşırız ve bunun sonucunda ortaya çıkabilecek fırsatları görmek için heyecanlıyız. (güncelleme)
  • Enterprises and Education: FedID CG'de de açıkça belirtildiği gibi, ön kanaldan çıkış yapma (IdP'nin RP'lere çıkış yapmak için sinyal gönderme özelliği) ve SAML desteği gibi üzerinde çalışmak istediğimiz FedCM tarafından iyi sunulmadığı birçok kullanım alanı var.
  • mDL'ler/VC'ler/vb. ile ilişki: Bunların FedCM'ye nasıl uyduğunu anlamak için çalışmaya devam edin (ör. Mobil Belge İsteği API'si ile).

FedCM API'yi kullanma

FedCM'yi kullanmak için Chrome'daki IdP ve RP'de güvenli bağlama (HTTPS veya localhost) ihtiyacınız vardır.

FedCM ile entegrasyon sağlamak üzere hesap listesi, onay verme ve isteğe bağlı olarak istemci meta verileri için iyi bilinen bir dosya, yapılandırma dosyası ve uç noktalar oluşturmanız gerekir. Burada FedCM, 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ılavuzuna göz atın.

Etkileşimde bulunun ve geri bildirim paylaşın