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 kimlik sağlayıcı API, masaüstünde kaynak denemesi başlatıyor. Düğme Modu API ve Devam paketi ise Android'de kaynak denemesi başlatıyor. Çoklu kimlik sağlayıcı ö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ı üzerine 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 Alanlar API'si, 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 (ör. "geri gelen hesabı" varsa) bu kimlik sağlayıcılar önce listelenir.
  • Geri gelen hesaplarda kimlik sağlayıcılar, en son kullanımlarının zaman damgasına göre de sıralanır. En son kullanılan kimlik sağlayıcı, listenin en üstünde görünür. 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. Zaman damgası içeren bu hesaplar aşağıda listelenmiştir.
  • 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 (ör. 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ıdan uyuşmayan IdP ile oturum açması istenir.

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. Şunları kontrol edin:

  • 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 IdP'leri 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, kimlik sağlayıcıya 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 IdP özelliğini deneyebilirsiniz.

RP'ler, Multi IdP'yi denemek için kaynaklarını kaydedebilir ve birinci taraf kaynak denemesi çalıştırabilir. IdP'nin üçüncü taraf kaynağı deneme sürümüne kaydolup 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. Register (Kaydol) düğmesini tıklayın ve jeton isteğinde bulunmak için formu doldurun.
  2. 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.
  3. Gönder'i tıklayın.
  4. RP sayfasında verilen jetonu sağlayın:
    • 1. taraf kaynak deneme katılımcıları için: - <head> içinde meta etiket olarak: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE"> - HTTP üst bilgisi olarak: Origin-Trial: TOKEN_GOES_HERE
    • Üçüncü taraf kaynak deneme katılımcıları için: - Programlı olarak jeton sağlayarak.

Android'de Chrome için Button Mode API

Chrome 128 sürümünden itibaren, Button Mode API'nin kaynak denemesi, ilk masaüstü denemesinin ardından Android'de Chrome'da başlayacak. Düğme Modu API ile 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 dahil etmesine olanak tanıyan yeni bir özellik kullanıma sunulmuştur. Bu sayede, mobil cihazlarda düğme modundaki kullanıcı arayüzü geliştirilir.

Yapılandırma dosyasında 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 gibi 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 dokümanlarını inceleyin.

Kullanıcı henüz oturum açmadıysa FedCM, kullanıcıdan Chrome özel sekmesi (CCT) aracılığıyla 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 kimliğini yeniden doğruluyorsa 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 düğme modu API'si ile ilgili talimatları inceleyin. 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

Chrome 128 sürümünden itibaren Continuation API paketi, masaüstündeki ilk denemesinin ardından bir kaynak denemesi kapsamında Android'deki Chrome'da kullanılabilir. 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, kimlik sağlayıcıya 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 varsa veya herhangi bir sorunla karşılaşırsanız sorun bildirebilirsiniz. Toplu güncelleme günlükleri sayfası ile birlikte kanonik FedCM geliştirici kılavuzunu güncel tutacağız.