FedCM: Gizliliği korumaya yönelik bir kimlik federasyon API'si

Bu sayfada FedCM'nin avantajları, FedCM'yi uygulamayı düşünmesi gerekenler ve kullanıcıların FedCM ile etkileşimi açıklanmaktadır.

Federated Credential Management (FedCM), birleşik kimlik hizmetlerine (ör. Kimlik Sağlayıcı ile oturum açma) yönelik, üçüncü taraf çerezlerine veya gezinme yönlendirmelerine dayanmayan, gizlilik odaklı ve kullanıcı dostu bir yaklaşımdır.

FedCM sayesinde kullanıcılara, üçüncü taraf kimlik sağlayıcısı olan bir web sitesinde kimliklerini doğrulamanın yeni bir yolu sunulur.

Browser Support

  • Chrome: 51.
  • Edge: 79.
  • Firefox: not supported.
  • Safari: not supported.

Source

Kimlik federasyonu nedir?

Kimlik federasyonu, bir kişinin (kullanıcı veya varlık) kimlik doğrulamasını veya yetkilendirmesini güvenilir bir harici kimlik sağlayıcıya (IdP) devreder. Ardından IdP, kullanıcının güvenilir taraf web sitesinde (RP) oturum açmasına izin verir. Kimlik federasyonu sayesinde, RP yeni bir kullanıcı adı ve şifre gerektirmeden kullanıcıya hesap sağlamak için bir IdP'den yararlanır.

Birleştirilmiş kimlik çözümleriyle kullanıcının her RP için başka bir kimlik bilgisi grubu oluşturması gerekmez. Bu, kullanıcı deneyimini iyileştirir, kimlik avı olasılığını azaltır ve güvenilir kimlik sağlayıcılardan doğrulanmış kullanıcı bilgileri edinmenize yardımcı olur.

Geleneksel çözümler ve üçüncü taraf çerezleri

Geleneksel kimlik federasyon mekanizmaları, gizlilik endişelerine yol açan iframe'lere, yönlendirmelere veya üçüncü taraf çerezlerine dayanır. Bu çözümler, kullanıcıları web'de izlemek için kötüye kullanılabilir ve tarayıcılar, meşru kimlik hizmetlerini istenmeyen gözetimden ayırt edemez.

Büyük tarayıcılar, gizlilik endişelerini göz önünde bulundurarak üçüncü taraf çerezlerini kısıtlıyor. Bu durum bazı işlevleri etkileyebilir. Topluluğun çabaları ve yaptığımız araştırmalar sonucunda, üçüncü taraf çerez kısıtlamalarından etkilenen birkaç kimlik federasyonla ilgili entegrasyon olduğunu öğrendik.

FedCM ile kimlik federasyonu

FedCM, üçüncü taraf çerezleri kısıtlanmış şekilde tarama yapmayı tercih eden kullanıcılar için bile bu önemli kimlik doğrulama akışlarını etkinleştirmeyi amaçlar.

FedCM, protokole bağlı değildir: Bağımsız bir çözüm olarak veya farklı protokollerin yararlanabileceği ek bir katman olarak uygulanabilir. Örneğin, işlevsel bir OAuth sunucusu, FedCM uç noktalarını uygulayarak ve ardından FedCM'nin yanıtında döndürülen yetkilendirme kodunu OAuth erişim jetonuyla değiş tokuş ederek FedCM'nin tarayıcı aracılı tek dokunuşla giriş deneyiminden ve sezgisel kullanıcı arayüzünden yararlanabilir.

FedCM'ye neden ihtiyacımız var?

Geleneksel çözümlere kıyasla web ekosistemi için kullanıcı, RP'ler ve kimlik sağlayıcı geliştiriciler göz önünde bulundurularak tasarlanmış birden fazla avantaj sunar.

Üçüncü taraf çerezleri olmadan kimlik çözümleri için destek

FedCM, genellikle web'de kullanıcıları izlemek için kullanılan üçüncü taraf çerezlerine olan bağımlılığı azaltmaya yardımcı olabilir. API, üçüncü taraf çerezleri kısıtlanmış şekilde gezinmeyi seçen kullanıcılar için bile kişiselleştirilmiş bir oturum açma deneyimi sunar.

FedCM, diğer Özel Korumalı Alan API'leriyle de entegre edilmiştir. Örneğin, Storage Access API, güven sinyali olarak FedCM kimlik doğrulamasını 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.

İyileştirilmiş kullanıcı deneyimi

FedCM, basitleştirilmiş tek dokunuşla giriş işlemi için tarayıcı aracılı bir kullanıcı arayüzü iletişim kutusu sunar. API, bazen NASCAR sorunu olarak da adlandırılan dağınık giriş sayfası sorununu da ele alır.

NASCAR sorunu örneği: Yedi farklı oturum açma seçeneği nedeniyle dağınık bir kullanıcı arayüzüne sahip bir web sitesi.
NASCAR sorunu örneği: Çok geniş IdP seçimi nedeniyle dağınık bir kullanıcı arayüzüne sahip bir web sitesi.

FedCM, çok sayıda sosyal giriş düğmesi yerine daha basit ve kullanıcı dostu bir arayüz sunar.

Güvenlik

Birleştirilmiş kimlik yaklaşımı, kullanıcıların kimlik sağlayıcılar tarafından yönetilen güvenilir hesapları kullanmasına olanak tanır. Bu yaklaşımla, kullanıcıların her siteye kimlik bilgileri eklemesi gerekmez. Bu, kimlik avı saldırılarının yüzeyini azaltır. Ayrıca, RP'ler kendi güçlü güvenlik önlemlerini uygulamak yerine güvenli kimlik yönetimi konusunda uzman olan IdP'lerin uzmanlığına güvenebilir.

FedCM, birleşik kimlik akışını kullanıcılar için daha da kolay hale getirmeyi ve kullanıcıları daha az güvenli kimlik akışlarına tercih etmeye teşvik etmeyi amaçlar.

Daha fazla kullanıcı için kişiselleştirilmiş deneyim

FedCM, hesap kaydı akışında kullanıcı deneyimi sürtünmesini azaltır. Google Identity Service'in örnek olaylarında, kullanıcıların çok adımlı oturum açma seçeneklerine kıyasla FedCM'nin Tek Dokunuş akışı ile hesap oluşturmayı tercih ettiği gösterilmektedir.

FedCM sayesinde daha fazla IdP, kullanıcılarına tek dokunuşla oturum açma deneyimi sunabilir. Tek dokunuşla kimlik akışı sunan daha fazla IdP sayesinde kullanıcılar, RP'lerde daha geniş bir IdP yelpazesinden seçim yapabilir. FedCM, kullanıcılara en alakalı hesapları sunarak iyileştirilmiş bir IdP seçim mekanizması sağlar.

Daha yüksek kayıt oranlarıyla RP'ler daha fazla kullanıcıya kişiselleştirilmiş deneyim sunabilir.

Çeşitli kimlik sağlayıcılar için destek

FedCM'nin basitleştirilmiş kullanıcı arayüzü, kullanıcılara ilgili IdP'lerin kişiselleştirilmiş bir listesini sunmayı amaçlar. FedCM'nin IdP seçim mekanizmasıyla, RP'nin IdP seçimi artık IdP'nin kullanıcı tabanının büyüklüğüne göre kısıtlanmaz. Örneğin, kullanıcıların bir kısmının bigger-idp.example'da değil, yalnızca small-idp.example'te hesabı olabilir.

Çoklu kimlik sağlayıcı özelliği sayesinde rp.example, kullanıcı arayüzünü karmaşık hale getirmeden hem small-idp.example hem de bigger-idp.example'i destekleyebilir. Bu durum tüm taraflara yarar sağlar:

  • Kullanıcılar, büyük veya küçük fark etmeksizin tercih ettikleri kimlik sağlayıcıyı seçebilir.
  • RP'ler, çeşitli IdP desteği sayesinde daha fazla kullanıcıya ulaşır
  • Daha küçük bir kullanıcı tabanına sahip kimlik sağlayıcılar daha fazla RP'de kullanılabilir.

FedCM'yi kimler kullanmalı?

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

  • Üçüncü taraf çerezleri olmadan gezinmeyi tercih eden kullanıcılar için bile birleşik kimlik akışlarını desteklemeyi amaçlıyorsunuz.
  • Üçüncü taraf RP'lere sahip bir kimlik sağlayıcı (IdP) iseniz. RP'leriniz anlamlı bir şekilde ilişkili sitelerse İlişkili Websitesi Grupları'ndan daha iyi yararlanabilirsiniz.
  • Kendi kimlik çözümünüz ve bu çözüme dayalı birden fazla alanınız var.

IdP'siniz

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

Birden fazla RP

RP'leriniz üçüncü tarafsa veya kimlik çözümünüzü kullanan dörtten fazla RP'niz varsa birleşik kimlik için önerilen API FedCM'dir.

Beş adede kadar RP'si olan bir kimlik sağlayıcıysanız ve RP'lerin IdP ile birinci taraf ilişkisi varsa İlgili Web Sitesi Kümeleri (RWS)'ni kullanmayı düşünebilirsiniz. RWS, üçüncü taraf çerezleri başka bir şekilde kısıtlanmış olsa bile anlamlı şekilde ilişkili site grupları arasında sınırlı üçüncü taraf çerez erişimine izin verir.

Çerezsiz kimlik federasyon akışını desteklemeyi amaçlıyorsanız

FedCM, üçüncü taraf çerezleri olmadan gezinmeyi tercih eden kullanıcılar için bile temel birleşik kimlik akışlarını destekler. FedCM ile kullanıcılar, RP'lerde birleşik hesaplarıyla kaydolabilir, oturum açabilir ve oturum kapatabilir.

Ayrıca FedCM, Storage Access API için bir güven sinyali görevi görür ve IdP tarafından başlatılan depolama alanı erişim isteklerinde yaşanan aksaklıkları ortadan kaldırır.

Chrome'da üçüncü taraf çerezlerini engelleyerek kimlik federasyonunuzun, üçüncü taraf çerezleri olmadan gezinmeyi seçen kullanıcılar için çalışmaya devam edip etmeyeceğini test edin. Üçüncü taraf çerez kısıtlamalarının etkilemesi beklenen bilinen özellikleri test ettiğinizden emin olun.

Kullanıcıların FedCM ile etkileşimi

FedCM, kimlik doğrulama protokolüne bağlı olmayan bir şekilde tasarlanmıştır ve kullanıcıya üçüncü taraf IdP ile bir RP'de kimlik doğrulaması yapma için yeni bir akış sunar. FedCM'yi demo ile deneyin.

Güvenen tarafta oturum açma

Kullanıcılar, RP tarafından desteklenen bir kimlik sağlayıcı grubundan hesap seçebilir. Kullanıcı birden fazla IdP ile giriş yaptıysa bunlardan birini kullanarak RP'de oturum açması istenir.

Kullanıcının hesapları aşağıdaki sırayla gösterilir:

  • Kullanıcının cihazında erişilen hesaplar önce gösterilir. En son erişilen hesaplar önce gelir.
  • Ardından, kullanıcının RP'de kimlik sağlayıcıya göre eriştiği hesaplar gösterilir. Hangi hesaplara erişildiğiyle ilgili bilgiler, approved_clients hesap uç noktası mülk değerinden alınır.
  • RP'de daha önce kullanılmamış hesaplar en son gösterilir.

Bu öncelik katmanlarından herhangi birinde birden fazla hesap varsa bu hesaplar, get() çağrısında RP tarafından sağlanan kimlik sağlayıcıların sırasına göre de sıralanır.

FedCM kullanıcı arayüzü modları

FedCM'de iki kullanıcı arayüzü modu vardır: Pasif ve Etkin.

Pasif mod. FedCM isteminin görünmesi için pasif modda kullanıcı etkileşimi gerekmez. Kullanıcı güvenen taraf (RP) web sitesine ulaştığında, aşağıdaki koşullar karşılanırsa navigator.credentials.get() çağrıldığında bir FedCM oturum açma iletişim kutusu gösterilir:

  • Kullanıcı, desteklenen kimlik sağlayıcılardan en az birinde oturum açmış olmalıdır. Kullanıcının mevcut tüm kimlik sağlayıcılarda oturumu kapalıysa FedCM oturum açma istemi otomatik olarak gösterilmez.
  • FedCM bekleme süresi ayarı kullanıcının tarayıcısından ayarlanmamış.
  • Kullanıcı, tarayıcı ayarlarında FedCM'yi devre dışı bırakmadı. Kullanıcıların FedCM'den nasıl çıkabileceği hakkında daha fazla bilgi edinin.
Kullanıcı, pasif modda farklı IdP'lerle sırayla kimlik doğrulaması yapar: Birinde oturum açıp kapatır, ardından bir sonrakinde kimlik doğrulaması yapar.

Etkin mod. Etkin modda, FedCM istemini tetiklemek için geçici bir kullanıcı etkinleştirme (ör. … ile oturum aç düğmesini tıklama) gerekir.

Kullanıcı, etkin modda FedCM'yi kullanarak bir RP'de oturum açar.

Kullanıcı, <kullanıcı> olarak devam et'e dokunarak oturum açmayı tamamlayabilir. İşlem başarılı olursa tarayıcı, kullanıcının IdP ile RP'de birleşik bir hesap oluşturduğunu depolar.

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

başlıklı makalemizi inceleyin.

Elektronik 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ı veya halihazırda 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 Uygunluk Hakkında SSS bölümünü okumanızı öneririz.

Görsel

Mevcut sınırlamaları gidermek ve daha iyi bir kullanıcı deneyimi sunmak için aktif olarak yeni özellikler geliştiriyoruz.

  • Kullanıcılara sorunsuz,sezgisel ve daha az müdahaleci bir kimlik doğrulama süreci sunmak için daha az dikkat çeken kullanıcı deneyimi formülleri üzerinde çalışıyoruz.
  • Kullanıcı gizliliğini iyileştirmeye kararlıyız. IdP izleme sorununu azaltan, yetkilendirme odaklı NextGen FedCM modeline geçiş yapmayı planlıyoruz. NextGen ile kullanıcılar, IdP'nin kullanıcıyı takip etmesine gerek kalmadan RP'lere giriş yapabilir.
  • FedCM, güvenilir tarafın seçimine bağlı olarak kullanıcılara daha geniş bir IdP seçeneği sunmayı amaçlar. Bu hedefe ulaşmak için Multi-IdP ve IdP Registration API'leri üzerinde çalışıyoruz.
  • FedCM'yi, birleşik bir kimlik doğrulama deneyimi sunmak için Otomatik Doldurma gibi ek araçlarla birlikte geçiş anahtarları gibi diğer kimlik doğrulama yöntemleriyle entegre etmek için aktif olarak çalışıyoruz.

Daha fazla ayrıntı için yol haritamıza bakın.

Sonraki adımlar

FedCM API ile kimlik çözümünüzü test etmeye ve geliştirmeye hazırlayın.
Kimlik çözümünüzü kimlik sağlayıcı tarafında FedCM ile nasıl uygulayacağınızı inceleyin.