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 Multi-IdP API masaüstünde, Button Mode API ve Continuation bundle ise Android'de kaynak denemesi başlatıyor. Çoklu IdP özelliğiyle geliştiriciler tek bir get() çağrısında birden fazla desteklenen kimlik sağlayıcı dizisi belirtebilir. Button Mode API, yeni bir kullanıcı arayüzü ekler. Düğme modu API'si sayesinde kimlik sağlayıcılar, kullanıcılarının API çağrısı sırasında etkin IdP oturumları olmasa bile FedCM API'yi kullanabilir. Devam paketi, Continuation API ve Parameters API'den oluşur. Bu API'ler, IdP tarafından sağlanan bir izin iletişim kutusu içeren OAuth yetkilendirme akışı benzeri bir deneyim sağlar. Pakette Fields API, birden fazla configURL ve özel hesap etiketleri gibi diğer değişiklikler de yer alır.

Kaynak denemesi: Multi IdP API

Bu özellik, kullanıcıların desteklenen bir kimlik sağlayıcı grubundan hesap seçmesine olanak tanır. RP'ler ise daha yüksek oturum açma ve kaydolma oranlarından yararlanır. Kullanıcı birden fazla IdP ile giriş yaptıysa IdP'lerden birini kullanarak RP'de oturum açması istenir.

Kullanıcı, çoklu IdP API'sini kullanarak farklı IdP'lerle oturum açıyor.

Kimlik sağlayıcılara, kullanıcının mevcut hesaplarına ve ilişkili zaman damgalarına göre öncelik verilir.

  • Kullanıcı daha önce RP'ye belirli bir kimlik sağlayıcıyla giriş yaptıysa (yani "geri gelen hesabı" varsa) bu kimlik sağlayıcılar önce listelenir.
  • Geri gelen hesaplarda kimlik sağlayıcılar, en son kullanım zaman damgasına göre de sıralanır. En son kullanılan kimlik sağlayıcı listenin en üstünde gösterilir. Bazı durumlarda Chrome, geri gelen bir hesap için zaman damgası verilerine sahip olmayabilir. Bunun nedeni, 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'de geri gelen hesabı yoksa RP tarafından sağlanan sıraya uyulur.

FedCM, geliştirici tarafından talep edilmesi ve tek bir geri gelen hesap olması durumunda otomatik yeniden kimlik doğrulamayı sağlar. Çoklu IdP durumunda, 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ı, yalnızca hesabı açıkça tanıdığında otomatik yeniden kimlik doğrulamayı başlatır. Bu, kullanıcının daha önce bu RP'de bu hesapla FedCM kullanmış olması gerektiği anlamına gelir.

Kullanıcının giriş durumu bir IdP için oturum kapalı olarak ayarlanmışsa FedCM çağrısı, söz konusu IdP'nin hesaplarını getirmez. Benzer şekilde, kullanıcının durumu mevcut tüm kimlik sağlayıcılar için oturum kapalıysa FedCM oturum açma istemi widget modunda otomatik olarak gösterilmez.

Bir IdP için tarayıcıya kaydedilen giriş durumu oturum açmışsa ancak getirme isteği bu IdP için hiç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 ve kullanıcıya uyuşmayan IdP ile oturum açması önerilir.

Kullanıcı giriş durumu "Giriş yaptı" olarak görünse de oturumun süresi dolmuşsa uyuşmazlık kullanıcı arayüzü gösterilir.

Giriş durumu hakkında daha fazla bilgi için dokümanları inceleyin. Daha fazla uygulama ayrıntısı için geliştirici kılavuzuna bakın.

Kaynak denemesi: Multi IdP API

Multi IdP API'yi demo RP'de kullanıcı olarak veya Chrome 128 veya daha yeni bir sürümü kullanan bir geliştirici olarak deneyebilirsiniz.

Kullanıcı olarak deneme

Kullanıcı olarak deneyin. Aşağıdakilerden emin olun:

  • Chrome, chrome://settings/content/federatedIdentityApi sayfasındaki üçüncü taraf oturum açma istemlerini engelleyecek şekilde yapılandırılmamıştır.
  • Birden fazla demo kimlik sağlayıcıda oturum açtıysanız Demo sayfasındaki talimatları uygulayın.

Kökeni, kaynak denemesi için kaydedilmemiş sitelerde çoklu kimlik sağlayıcıyı denemek için chrome://flags/#fedcm-multi-idp altındaki özellik işaretini etkinleştirmeniz gerektiğini unutmayın.

Geliştirici olarak deneme

Giriş sağlayıcının RP'ye yerleştirilmiş bir JavaScript SDK'sı varsa (önerilir) birden fazla IdP'yi etkinleştirmek için navigator.credentials.get() çağrısı sağlayıcı tarafından uygulanabilir ve RP geliştiricilerinin kodlarını değiştirmesi gerekmez. Aksi takdirde, RP'nin FedCM API'yi kendisinin çağırması gerekir.

Bir RP'de çoklu kimlik sağlayıcıları test etmek için desteklenen sağlayıcı 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);
}

Ortaya çıkan nesnedeki configURL özelliği, kullanıcının kimliğini doğruladığı IdP'nin yapılandırma dosyasının URL'sini depolar. RP, IdP'ye bağlı olarak farklı olduğu için ortaya çıkan token değerinin nasıl işleneceğini belirleyebilir.

Kaynak denemesine katılma

Kaynak denemeleri, yeni özellikleri denemenize ve kullanılabilirlikleri, pratiklikleri ve etkililikleri hakkında geri bildirim vermenize olanak tanır. Daha fazla bilgi için Kaynak denemelerini kullanmaya başlama başlıklı makaleyi inceleyin.

Chrome 128'den itibaren kaynak deneme sürümlerine kaydolarak Çoklu Kimlik Doğrulama özelliğini deneyebilirsiniz.

RP'ler, çoklu kimlik sağlayıcıyı denemek için kaynaklarını kaydedebilir ve birinci taraf kaynak denemesi çalıştırabilir. IdP'nin üçüncü taraf kaynak deneme sürümüne kaydolması ve Javascript SDK'larını kullanan tüm RP'leri için Çoklu IdP özelliğini etkinleştirmesi de mümkündür.

Kaynak denemesine katılma adımları:

  1. Multi IdP API kaynak deneme 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ğı " alanına RP'nin kaynağını girin. Üçüncü taraf kaynağı denemesi için kimlik sağlayıcının JavaScript SDK'sının kaynağını girin ve "Üçüncü taraf eşleştirme" kutusunu işaretleyin.
  4. Gönder'i tıklayın.
  5. RP sayfasında verilen jetonu sağlayın:
    • Birinci taraf kaynak denemesi katılımcıları için:
      • <head>: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE"> bölümünde meta etiket olarak
      • HTTP üstbilgisi olarak: Origin-Trial: TOKEN_GOES_HERE
    • Üçüncü taraf kaynak deneme katılımcıları için:
      • Programatik olarak jeton sağlayarak.

Android'de Chrome için Button Mode API

Button Mode API'nin kaynak denemesi, ilk masaüstü denemesinden sonra Chrome 128 sürümünden itibaren Android'de Chrome'da başlayacak. Düğme modu API'si sayesinde kimlik sağlayıcılar, kullanıcıları API çağrısı üzerine IdP'den çıkış yapmış olsa bile FedCM API'yi kullanabilir. Oturum açma akışı, kullanıcının niyetini 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ına eklemesine olanak tanıyan yeni bir özellik kullanıma sunulmuştur. Bu, mobil cihazlarda düğme modundaki kullanıcı arayüzünü iyileş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 aşağıdaki ş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 IdP ve RP logo simgeleri.

Simge desteği hakkında daha fazla bilgi edinmek için geliştirici belgelerini inceleyin.

Kullanıcı henüz oturum açmadıysa FedCM, kullanıcıdan Chrome özel sekmesi (CCT) üzerinden IdP tarafından sağlanan login_url'yi kullanarak IdP'de oturum açmasını ister.

Kullanıcı, mobil cihazda düğme modu üzerinden oturum açıyor.

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

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

Kaynak denemesine kaydolmak için masaüstünde Button Mode API talimatlarına bakın. Masaüstünde orijinal denemeye kaydolduysanız Chrome 128'den itibaren Android'de Chrome'da bu özellik otomatik olarak kullanılabilir.

Android'de Chrome için Continuation API paketi

Continuation API paketi, masaüstündeki ilk denemesinin ardından Chrome 128 sürümünden itibaren Android'de Chrome için bir kaynak denemesi kapsamında kullanıma sunulacaktır. Paket; Continuation API, Parameters API, Fields API, Multiple configURLs ve Custom Account Labels gibi birden fazla FedCM özelliğinden oluşur.

Devam API'si, çok adımlı oturum açma akışlarını etkinleştirir. Parameters API, IdP'ye ek parametreler iletilmesine olanak tanır. Fields API, RP'nin FedCM iletişim kutusunda açıklama kullanıcı arayüzü için belirli hesap özelliklerini istemesine olanak tanır. Ayrıca, birden fazla configURL, bir IdP için birden fazla yapılandırma dosyası destekler ve özel hesap etiketleri, IdP'lerin hesapları notlandırmasına olanak tanır. Böylece RP'ler bu etiketlere göre hesapları filtreleyebilir.

Continuation API paketi hakkında daha fazla bilgi edinmek için Masaüstünde Continuation API paketi başlıklı blog yayınını inceleyin. Kaynak deneme sürümüne kaydolmak için bu talimatları uygulayın. Masaüstünde orijinal denemeye kaydolduysanız Chrome 128'den itibaren Android'de Chrome'da bu özellikler otomatik olarak kullanılabilir.

Etkileşim kurma ve geri bildirim paylaşma

Geri bildiriminiz veya karşılaştığınız sorunlar varsa sorun bildirebilirsiniz. Toplu güncelleme günlükleri sayfası ile birlikte kanonik FedCM geliştirici kılavuzunu güncel tutacağız.