FedCM güncellemeleri: Masaüstünde Çoklu IdP API, Android kaynak denemelerinde Chrome için Button Modu API'si ve Devamlılık Paketi

Natalia Markoborodova
Natalia Markoborodova

Chrome 128'den itibaren Çoklu IdP API'si masaüstünde kaynak deneme sürümünü başlatacak. Button Mode API ile devamlılık paketi ise Android'de bir kaynak denemesi başlatacak. Çoklu IdP özelliğiyle geliştiriciler, tek bir get() çağrısında desteklenen birden fazla kimlik sağlayıcıdan oluşan bir dizi belirtebilir. Düğme Modu API'si yeni bir kullanıcı arayüzü ekler. Kimlik sağlayıcılar, Button Mode API ile kullanıcıları API çağrısında etkin IdP oturumları olmasa bile FedCM API'yi kullanabilir. Consuation paketi, Continuation API ve Parameters API'den oluşur. Bunlar, IdP tarafından sağlanan izin iletişim kutusunu içeren OAuth yetkilendirme akışına benzer bir deneyim sunar. Pakette Alanlar API'si, Birden Çok configURL ve Özel Hesap Etiketleri gibi başka değişiklikler de bulunur.

Kaynak denemesi: Çoklu IdP API

Bu özellik, kullanıcıların desteklenen bir dizi IdP arasından bir hesap seçmesine olanak tanır. Kısıtlanmış taraf da daha yüksek oturum açma ve kaydolma oranlarından yararlanabilir. Kullanıcı birden fazla IdP ile giriş yaptıysa, IdP'lerden birini kullanarak Kısıtlanmış Taraf'ta oturum açması istenir.

Bir kullanıcı, çoklu IdP API'yi kullanarak farklı IdP'lerle oturum açıyor.

IdP'ler, kullanıcının mevcut hesaplarına ve ilişkili zaman damgalarına göre önceliklendirilir.

  • Kullanıcı daha önce belirli bir IdP ile giriş yaptıysa (yani "geri gelen hesabı" varsa) ilk olarak bu IdP'ler listelenir.
  • IdP'ler, geri gelen hesaplarda en son kullanımlarına ait zaman damgasına göre sıralanır. En son kullanılan IdP ise listenin en üstünde yer alır. Bazı durumlarda Chrome'un geri gelen hesaba ait zaman damgası verileri olmayabilir. Bunun nedeni büyük olasılıkla kullanıcının, FedCM'de zaman damgası günlükleri uygulanmadan önce oturum açmış olmasıdır. Bu hesaplar, zaman damgası olan hesapların altında listelenir.
  • Kullanıcının herhangi bir IdP'ye sahip geri gelen hesabı yoksa RP tarafından sağlanan sipariş dikkate alınır.

FedCM, geliştiricinin istemesi durumunda ve geri gelen tek bir hesap varsa otomatik olarak yeniden kimlik doğrulamaya izin verir. Çoklu IdP söz konusu olduğunda, birden fazla IdP için geri gelen hesaplar varsa kullanıcının kimliği otomatik olarak yeniden doğrulanmaz. Otomatik yeniden kimlik doğrulama için geri gelen bir hesabın olması önemli bir koşuldur. Tarayıcı otomatik yeniden kimlik doğrulamayı, yalnızca hesabı açık bir şekilde tanıdığında başlatır. Bu, kullanıcının söz konusu Kısıtlanmış Taraf'ta bu hesapla daha önce FedCM'yi kullanmış olması gerektiği anlamına gelir.

Kullanıcının giriş durumu, bir IdP için oturum kapalı olarak ayarlandıysa FedCM'nin çağrılması, söz konusu IdP'ye ait hesapları getirmez. Benzer şekilde, kullanılabilir tüm IdP'lerde kullanıcının durumu çıkış yapılmışsa widget modunda FedCM oturum açma istemi otomatik olarak gösterilmez.

Bir IdP için tarayıcıya kaydedilen giriş durumu giriş yapılmışsa ancak getirme isteği, bu IdP için herhangi bir hesap döndürmediyse (örneğin, kullanıcı oturumunun süresi dolduysa ancak giriş durumu tarayıcı tarafından henüz güncellenmediyse) IdP için uyuşmazlık kullanıcı arayüzü gösterilir. Bu durumda, kullanıcının eşleşmeyen IdP ile oturum açması önerilir.

Kullanıcının giriş durumu giriş yapmış durumdayken oturumun süresi dolduğunda, uyuşmazlık kullanıcı arayüzü gösterilir.

Giriş durumu hakkında daha fazla bilgi edinmek için belgeleri inceleyin. Uygulamayla ilgili daha fazla ayrıntı için geliştirici kılavuzuna bakın.

Kaynak denemesi: Çoklu IdP API

Çoklu IdP API'yi demo RP'de bir kullanıcı olarak veya Chrome 128 ya da sonraki bir sürümü kullanan bir geliştirici olarak deneyebilirsiniz.

Bir kullanıcı olarak deneyin

Bir kullanıcı olarak kendiniz deneyin. Aşağıdakilerden emin olun:

  • Chrome, şu sayfada üçüncü taraf oturum açma istemlerini engelleyecek şekilde yapılandırılmadı: chrome://settings/content/federatedIdentityApi.
  • Birden fazla demo IdP'de oturum açtınız. Demo sayfasındaki talimatları uygulayın.

Çoklu IdP'yi, kaynağı kaynak denemesine kayıtlı olmayan sitelerde denemek için chrome://flags/#fedcm-multi-idp altında özellik işaretini etkinleştirmeniz gerektiğini unutmayın.

Geliştirici olarak deneyin

Bir giriş sağlayıcının kısıtlanmış tarafte yerleşik bir JavaScript SDK'sı varsa (önerilir) sağlayıcı, birden fazla IdP'yi etkinleştirmek için navigator.credentials.get() çağrısını uygulayabilir ve RP geliştiricilerinin kodlarını değiştirmeleri gerekmez. Aksi takdirde kısıtlanmış tarafın FedCM API'yi kendisinin çağırması gerekir.

Çoklu IdP'leri bir kısıtlanmış taraf üzerinde test etmek için desteklenen sağlayıcılar dizisini aşağıdaki gibi belirtin:

try {
  const cred = await navigator.credentials.get({
    identity: {
      providers: [
        {
          configUrl: "https://idp1.example/foo.json", // first IdP
          clientId: "123",
        },
        {
          configUrl: "https://idp2.example/bar.json", // second IdP
          clientId: "456",
        }
      ]
    }
  });

  const token = cred.token;
  const currentConfigFileUrl = cred.configURL;

  if (cred.configURL === 'https://idp1.example/foo.json')  {
    // handle the token for idp1.example
  } else if (cred.configURL === 'https://idp2.example/bar.json') {
    // handle the token for idp2.example
  }
} catch (error) {
  console.error("Error during credential retrieval:", error);
}

Sonuçta ortaya çıkan nesnedeki configURL özelliği, kullanıcının kimlik doğrulamasını kullandığı IdP'ye ait yapılandırma dosyasının URL'sini depolar. IdP'ye göre farklılık gösterdiğinden, sonuçta ortaya çıkan token için nasıl işlem yapılacağını RP belirleyebilir.

Kaynak denemesine katılın

Kaynak denemeleri; yeni özellikleri deneyip kullanılabilirlik, pratik ve etkililik konularında geri bildirimde bulunmanıza olanak tanır. Daha fazla bilgi için Kaynak denemelerini kullanmaya başlama başlıklı makaleye göz atın.

Chrome 128'den itibaren kaynak denemelerine kaydolarak Çoklu IdP özelliğini deneyebilirsiniz.

Kısıtlanmış taraf, Çoklu IdP'yi denemek için kaynağını kaydedip birinci taraf kaynak denemesi çalıştırabilir. IdP de üçüncü taraf kaynak denemesine kaydolabilir ve JavaScript SDK'larını kullanan tüm kısıtlanmış taraflarında Çoklu IdP özelliğini kullanabilir.

Kaynak denemesine katılma adımları:

  1. Çoklu IdP API kaynak denemesi kayıt sayfasına gidin.
  2. Kaydol düğmesini tıklayın ve jeton istemek için formu doldurun.
  3. Birinci taraf kaynak denemesine kaydolmak için "Web Kaynağı"na kısıtlanmış taraf kaynağını girin girin. Üçüncü taraf kaynak denemesi için IdP'nin JavaScript SDK'sının kaynağını girin ve "Üçüncü taraf eşleştirme"yi kontrol edin seçin.
  4. Gönder'i tıklayın.
  5. Kısıtlanmış taraf sayfasında verilen jetonu sağlayın:
    • Birinci taraf kaynak denemesinin katılımcıları için:
      • <head> içinde meta etiket olarak: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • HTTP üstbilgisi olarak: Origin-Trial: TOKEN_GOES_HERE
    • Üçüncü taraf kaynak denemesinin katılımcıları için:
      • Programatik olarak jeton sağlayarak.

Android'de Chrome için Button Mode API

Chrome sürüm 128'den itibaren Button Mode API'nin kaynak denemesi, masaüstündeki ilk deneme sürümünün ardından Android'deki Chrome'da başlayacaktır. Button Mode API ile kimlik sağlayıcılar, API çağrısından sonra kullanıcıları IdP'den çıkış yapmış olsa bile FedCM API'yi kullanabilir. Oturum açma akışı, kullanıcının amacını daha iyi yansıtan bir kullanıcı hareketiyle başlatılır.

Chrome 128'de, IdP'lerin RP'nin resmi logo simgesini doğrudan istemci meta veri uç noktası yanıtına eklemesine olanak tanıyan yeni bir özellik kullanıma sunuldu. Bu özellik, düğme modunda mobil cihazlarda kullanıcı arayüzünü geliştirir.

Yapılandırma dosyasındaki IdP markasına benzer şekilde, RP'nin simgeleri IdP tarafında yapılandırılabilir ve client_metadata_endpoint yanıtında şu şekilde döndürülebilir:

  "privacy_policy_url": "https://rp.example/privacy_policy.html",
  "terms_of_service_url": "https://rp.example/terms_of_service.html",
  "icons": [{
      "url": "https://idp.example/rp-icon.ico",
      "size": 40
   }]
.
IdP ve RP&#39;nin logo simgeleri.
Mobil cihazlardaki açıklama kullanıcı arayüzünde yer alan, IdP'nin ve Kısıtlanmış Taraf'ın logo simgeleri.

Simge desteği hakkında daha fazla bilgi edinmek için geliştirici belgelerine bakın.

Kullanıcı henüz oturum açmamışsa FedCM, kullanıcıdan IdP tarafından Chrome Özel Sekmesi (CCT) üzerinden sağladığı login_url kullanarak IdP'de oturum açmasını ister.

Bir kullanıcı, mobil cihazında düğme modunda oturum açıyor.

Kullanıcı, geri gelen bir hesapla yeniden kimlik doğrulama yapıyorsa açıklama kullanıcı arayüzü gösterilmez.

Bir kullanıcı, geri gelen bir hesapla oturum açıyor. Açıklama kullanıcı arayüzü gösterilmiyor.

Kaynak deneme sürümüne kaydolmak için Masaüstünde Button Mode API talimatlarına bakın. Masaüstünde kaynak deneme sürümüne zaten kaydolduysanız bu özellik Chrome 128'den itibaren Android'deki Chrome'da otomatik olarak kullanılabilir olacaktır.

Android'de Chrome için Continuation API paketi

Chrome sürüm 128'den itibaren Continuation API paketi, masaüstündeki ilk deneme sürümünün ardından kaynak denemesinin bir parçası olarak Android'de Chrome için kullanıma sunulacak. Paket; Continuation API, Parameters API, Fields API, Çoklu configURL'ler ve Özel Hesap Etiketleri de dahil olmak üzere birden fazla FedCM özelliğinden oluşur.

Continuation API, çok adımlı oturum açma akışları sağlar. Parameters API, ek parametrelerin IdP'ye iletilmesini sağlar. Fields API, kısıtlanmış tarafın FedCM iletişim kutusunda açıklama kullanıcı arayüzü için belirli hesap özelliklerini istemesine olanak tanır. Ayrıca birden fazla configURL, IdP için birden fazla yapılandırma dosyasını destekler. Özel Hesap Etiketleri, IdP'lerin hesaplara not eklemesine olanak tanır. Böylece, IdP'ler hesapları bu etiketlere göre filtreleyebilir.

Continuation API paketi hakkında daha fazla bilgi edinmek için Masaüstünde Continuation API paketi ile ilgili blog yayınına bakın. Kaynak denemeye kaydolmak için bu talimatları uygulayın. Masaüstünde kaynak deneme sürümüne zaten kaydolduysanız özellikler Chrome 128'den itibaren Android üzerindeki Chrome'da sizin için otomatik olarak kullanılabilir olacaktır.

Etkileşimde bulunun ve geri bildirim paylaşın

Geri bildirimde bulunmak isterseniz veya herhangi bir sorunla karşılaşırsanız sorun gönderebilirsiniz. Biriken güncelleme günlükleri sayfasıyla birlikte, standart FedCM geliştirici kılavuzunu güncel tutacağız.