Federated Credential Management API güncellemeleri

Federated Credential Management API, Chrome 108'de kullanıma sunuldu ancak gelişmeye devam etmesi bekleniyor. Planlanan önemli bir değişiklik yoktur.

Bu güncellemeler kimler için?

Aşağıdaki durumlarda bu güncellemeler sizin içindir:

  • Federated Credential Management API'yi kullanan bir kimlik sağlayıcıysanız.
  • Bir kimlik sağlayıcı veya kimlik doğrulama aracısıysanız ve API'yi kullanım alanınıza uyacak şekilde genişletmek istiyorsanız (ör. FedID CG deposundaki tartışmaları izliyorsanız veya bunlara katılıyorsanız ve API'de yapılan değişiklikleri anlamak istiyorsanız)
  • Tarayıcı tedarikçisiyseniz ve API'nin uygulama durumunu öğrenmek istiyorsanız

Bu API'yi yeni kullanmaya başladıysanız veya henüz denemediyseniz Federated Credential Management API'ye giriş bölümünü okuyun.

Değişiklik günlüğü

FedCM API değişiklikleri hakkında güncel bilgiler için blogumuza veya bültenimize göz atın.

Chrome 131 (Ekim 2024)

Chrome 125 (Nisan 2024)

Chrome 123 (Şubat 2024)

  • Alan İpucu API'si desteği eklendi. Alan İpucu API'si, RP'lerin FedCM API çağrısında bir domainHint mülkü belirtmesine olanak tanır. Böylece RP'ler, kullanıcı için yalnızca eşleşen hesapları gösterebilir.

Chrome 122 (Ocak 2024)

  • Disconnect API desteği eklendi. Disconnect API, RP'lerin üçüncü taraf çerezlerine gerek kalmadan kullanıcılarının kimlik sağlayıcının hesabından bağlantısını kesmesine olanak tanır.
  • RP ve IdP aynı sitede olduğunda kontrol/.well-known/web-identity şimdi atlanıyor.
  • Alt kaynaklar artık aynı sitede giriş durumunu ayarlayabilir.

Chrome 121 (Aralık 2023)

  • FedCM otomatik yeniden kimlik doğrulamasını tetiklemek için daha az katı koşul:
    • FedCM'deki otomatik yeniden kimlik doğrulama özelliği yalnızca kullanıcı geri geldiğinde tetiklenir. Bu, otomatik yeniden kimlik doğrulamanın tetiklenebilmesi için kullanıcının her tarayıcı örneğinde FedCM'yi kullanarak RP'de bir kez oturum açması gerektiği anlamına gelir. Bu koşul, başlangıçta izleyiciler kimlik sağlayıcı (IdP) gibi davranarak ve tarayıcıyı kandırarak kullanıcının bilgisi veya izni olmadan otomatik olarak kimliğini doğrulama riskini azaltmak için kullanıma sunulmuştur. Ancak izleyici, RP bağlamında üçüncü taraf çerezlerine erişebiliyorsa bu tasarım gizlilik avantajını garanti edemez. FedCM, üçüncü taraf çerezleri aracılığıyla mümkün olan özelliklerin yalnızca bir alt kümesini sağlar. Bu nedenle, izleyicinin RP bağlamında üçüncü taraf çerezlerine zaten erişimi varsa FedCM'ye erişim ek bir gizlilik riski oluşturmaz.
      Üçüncü taraf çerezlerinin meşru kullanım alanları olduğu ve koşulun gevşetilmesinin kullanıcı deneyimini iyileştireceği için bu davranış Chrome 121'den itibaren değişiyor. Kullanıcıyı geri gelen olarak ele alma koşulunun kısıtlamasını gevşetmeye karar verdik: RP bağlamında IdP'nin üçüncü taraf çerezlerine erişimi varsa Chrome, approved_clients listesi aracılığıyla belirtilen kullanıcının hesap durumuyla ilgili IdP iddiasına güvenir ve varsa otomatik yeniden kimlik doğrulamayı tetikler. Üçüncü taraf çerezleri; kullanıcı ayarları, kurumsal politikalar, sezgisel yöntemler (Safari, Firefox, Chrome) ve diğer web platformu API'leri (ör. Depolama Alanı Erişimi API'si) aracılığıyla kullanılabilir. Gelecekte IdP üçüncü taraf çerez erişimini kaybettiğinde, FedCM kullanıcı arayüzünde daha önce hiç açıkça izin vermemiş (örneğin, Bu kimlikle devam et düğmesini tıklamamış) kullanıcıların yeni kullanıcı olarak değerlendirilmeye devam edeceğini unutmayın.
      Geliştiricinin herhangi bir işlem yapması gerekmez. Kimlik sağlayıcının üçüncü taraf çerezlerine erişimi varsa ve kullanıcının geçmişte RP'de hesap oluşturduğunu iddia ediyorsa otomatik yeniden kimlik doğrulama akışının bu değişiklikle daha fazla tetiklenebileceğini unutmayın.

Chrome 120 (Kasım 2023)

  • Chrome 120'de aşağıdaki üç özellik için destek eklendi:
    • Giriş Durumu API'si: Giriş Durumu API'si, bir web sitesinin (özellikle de kimlik sağlayıcının) kullanıcısının giriş durumunu tarayıcıya bildirdiği bir mekanizmadır. Tarayıcı, bu API ile kimlik sağlayıcıya yapılan gereksiz istekleri azaltabilir ve olası zamanlama saldırılarını azaltabilir. Giriş Durumu API'si, FedCM için bir zorunluluktur. Bu değişiklikle birlikte, üçüncü taraf çerezi engellendiğinde FedCM'yi etkinleştirmek için chrome://flags/#fedcm-without-third-party-cookies işareti artık gerekli değildir.
    • Error API: Error API, IdP tarafından sağlanan hata bilgilerini içeren bir tarayıcı kullanıcı arayüzü göstererek kullanıcıyı bilgilendirir.
    • Otomatik Seçilen İşaret API'si: Otomatik Seçilen İşaret API'si, otomatik yeniden kimlik doğrulama veya açık bir uyumlulaştırma gerçekleştiğinde Bu kimlikle devam et düğmesine dokunarak açık bir kullanıcı izninin alınıp alınmadığını hem kimlik sağlayıcıyla hem de RP ile paylaşır. Paylaşım yalnızca IdP ve RP iletişimi için kullanıcı izni verildikten sonra gerçekleşir.

Chrome 117 (Eylül 2023)

Chrome 116 (Ağustos 2023)

  • Chrome 116'da aşağıdaki üç özellik için destek eklendi:
    • Login Hint API: Oturum açılacak tercih edilen kullanıcı hesabını belirtin.
    • User Info API: Kimlik sağlayıcının (IdP) bir iframe içinde kişiselleştirilmiş bir oturum açma düğmesi oluşturabilmesi için geri gelen kullanıcının bilgilerini alın.
    • RP Context API: FedCM iletişim kutusunda "Oturum aç"tan farklı bir başlık kullanın.
  • IdP Oturum Açma Durumu API'si için kaynak denemesi kullanıma sunuldu. Bu konu hakkında daha fazla bilgiyi FedCM güncellemeleri: IdP Sign-In Status API, Login Hint ve daha fazlası başlıklı makalede bulabilirsiniz.

Chrome 115 (Haziran 2023)

  • FedCM'yi kullanarak ilk kimlik doğrulamalarını yaptıktan sonra geri gelen kullanıcıların otomatik olarak yeniden kimlik doğrulamasına olanak tanıyan otomatik yeniden kimlik doğrulama desteği eklendi. Bu, kullanıcı deneyimlerini iyileştirir ve ilk kimlik doğrulamadan sonra RP'de daha kolay bir şekilde yeniden kimlik doğrulamayı sağlar. FedCM otomatik yeniden kimlik doğrulaması hakkında daha fazla bilgi edinin.

Chrome 110 (Şubat 2023)

  • Kimlik beyanı uç noktası için kimlik sağlayıcıların, değerin istemci kimliğinin kaynağıyla eşleşip eşleşmediğini görmek üzere Referer başlığı yerine Origin başlığını kontrol etmesi gerekir.
  • FedCM için kaynakta çapraz iframe desteği kullanıma sunuldu. Yerleştiren, yerleştirilmiş kaynakta çapraz iframe'de FedCM API'ye izin vermek için Permissions-Policy identity-credentials-get öğesini belirtmelidir. Kaynaklar arası iframe'e ait bir örneğe göz atabilirsiniz.
  • Yeni bir Chrome işareti chrome://flags/#fedcm-without-third-party-cookies eklendi. Bu işaretle, üçüncü taraf çerezlerini engelleyerek Chrome'da FedCM işlevini test edebilirsiniz. FedCM dokümanlarından daha fazla bilgi edinebilirsiniz.

Chrome 108 (Ekim 2022)

  • "üst düzey manifest", belgede artık "tanınmış dosya" olarak adlandırılıyor. Uygulamada herhangi bir değişiklik yapılması gerekmez.
  • "IdP manifesti", belgede artık "yapılandırma dosyası" olarak adlandırılıyor. Uygulamada herhangi bir değişiklik yapılması gerekmez.
  • "Yapılandırma dosyasında"ki id_token_endpoint, id_assertion_endpoint olarak yeniden adlandırılır.
  • IdP'ye gönderilen istekler artık Sec-FedCM-CSRF: ?1 üstbilgisi yerine Sec-Fetch-Dest: webidentity üstbilgisi içeriyor.

Chrome 105 (Ağustos 2022)

  • Belgeye önemli güvenlik bilgileri eklendi. Kimlik sağlayıcının (IdP), Referer başlığının kimlik jetonu uç noktasında önceden kayıtlı RP kaynağıyla eşleşip eşleşmediğini kontrol etmesi gerekir.
  • Üst düzey manifest, /.well-known/fedcm.json yerine /.well-known/web-identity olarak yeniden adlandırılır ve provider_urls içinde belirtilen URL, dosya adını içermelidir.
  • FederatedCredential örneklerinde login(), logout() ve revoke() yöntemleri artık kullanılamaz.
  • Federated Credential Management API artık FederatedCredential yerine IdentityCredential adlı yeni bir tür kullanmaktadır. Bu, özellik algılama için kullanılabilir ancak büyük ölçüde görünmeyen bir değişikliktir.
  • Giriş işlevini navigator.credentials.get() ve FederatedCredential.prototype.login() kombinasyonundan navigator.credentials.get()'e taşıyın.
  • Manifest'teki iptal uç noktası artık geçerli değil.
  • navigator.credentials.get() aramaları için federated alanı yerine identity alanı kullanın.
  • url artık configURL olmuştur ve navigator.credentials.get() çağrısının yolu yerine manifest JSON dosyasının tam URL'si olmalıdır.
  • nonce şimdi navigator.credentials.get() için isteğe bağlı bir parametredir.
  • hint artık navigator.credentials.get() için seçenek olarak sunulmuyor.
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (Haziran 2022)

Chrome 103 (Mayıs 2022)

  • Masaüstü ortamlarını destekler.
  • Masaüstünde RP başına ayarları destekler.
  • İstemci meta veri uç noktası artık isteğe bağlıdır. Bu uç noktada gizlilik politikası URL'si de isteğe bağlıdır.
  • Dokümana CSP connect-src kullanmayla ilgili bir uyarı eklendi.

Kaynaklar