Chrome 128'den itibaren Multi-IdP
API masaüstünde kaynak denemesine, Button Mode
API ve Continuation
bundle ise Android'de kaynak denemesine başlıyor. Çoklu IdP özelliği sayesinde geliştiriciler, tek bir get() çağrısında desteklenen birden fazla kimlik sağlayıcının dizisini 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. Devamlılık paketi, bir IdP tarafından sağlanan izin iletişim kutusunu içeren OAuth yetkilendirme akışına benzer bir deneyim sağlayan Devamlılık API'si ve Parametreler API'sinden oluşur. Paket, Fields API, Multiple configURL ve özel hesap etiketleri gibi başka değişiklikler de içerir.
Kaynak denemesi: Multi IdP API
Bu özellik, kullanıcıların desteklenen kimlik sağlayıcılar arasından bir 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ş yapmışsa RP'de oturum açmak için IdP'lerden birini kullanması istenir.
IdP'ler, kullanıcının mevcut hesaplarına ve bunlarla ilişkili zaman damgalarına göre önceliklendirilir.
- Kullanıcı daha önce belirli bir IdP ile RP'ye giriş yaptıysa (ör. "geri dönen hesap" varsa) bu IdP'ler önce listelenir.
- Dönen hesaplar arasında IdP'ler, en son kullanımlarının zaman damgasına göre sıralanır. En son kullanılan IdP, 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. Bu hesaplar, zaman damgalı olanların altında listelenir.
- Kullanıcının herhangi bir IdP ile geri dönen hesabı yoksa RP tarafından sağlanan sıra dikkate alınır.
Geliştirici isterse ve tek bir geri dönen hesap varsa FedCM, otomatik yeniden kimlik doğrulamaya izin verir. Çoklu IdP durumunda, birden fazla IdP için döndürülen hesaplar varsa kullanıcı otomatik olarak yeniden kimlik doğrulaması yapmaz. Geri dönen bir hesabın olması, otomatik yeniden kimlik doğrulama için önemli bir gereksinimdir. 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'yi kullanmış olması gerektiği anlamına gelir.
Kullanıcının oturum açma durumu bir IdP için oturum kapalı olarak ayarlanmışsa FedCM'yi çağırmak söz konusu IdP'nin hesaplarını getirmez. Benzer şekilde, kullanıcının durumu mevcut tüm IdP'ler için oturum kapatmış olarak ayarlanırsa FedCM oturum açma istemi widget modunda otomatik olarak gösterilmez.
Bir IdP için tarayıcıda kayıtlı giriş durumu "giriş yapıldı" ise ancak getirme isteği tarafından bu IdP için herhangi bir hesap döndürülmediyse (örneğin, kullanıcı oturumunun süresi dolduysa ancak giriş durumu henüz tarayıcı tarafından güncellenmediyse) IdP için uyuşmazlık kullanıcı arayüzü gösterilir ve kullanıcıya, uyuşmazlık olan IdP ile giriş yapması önerilir.
Oturum açma durumu hakkında daha fazla bilgi için belgeleri inceleyin. Uygulamayla ilgili daha fazla ayrıntı 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 ya da daha yeni bir sürümü kullanarak geliştirici olarak deneyebilirsiniz.
Kullanıcı olarak deneme
Kullanıcı olarak kendiniz deneyin. Şunlardan emin olun:
- Chrome, sayfada üçüncü taraf oturum açma istemlerini engelleyecek şekilde yapılandırılmamış:
chrome://settings/content/federatedIdentityApi. - Birden fazla demo IdP'de oturum açtıysanız. Demo sayfasındaki talimatları uygulayın.
Kaynak denemesi için kaynağı kayıtlı olmayan sitelerde Çoklu IdP'yi denemek istiyorsanız chrome://flags/#fedcm-multi-idp bölümünde özellik işaretini etkinleştirmeniz gerektiğini unutmayın.
Geliştirici olarak deneyin
Bir giriş sağlayıcının RP'ye yerleştirilmiş bir JavaScript SDK'sı varsa (önerilir), birden fazla kimlik sağlayıcının etkinleştirilmesi 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);
}
Elde edilen 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 değiştiği için ortaya çıkan token öğesinin nasıl işleneceğini belirleyebilir.
Kaynak denemesine katılma
Kaynak denemeleri, yeni özellikleri denemenize ve kullanılabilirlik, pratiklik ve etkinlikleri hakkında geri bildirim vermenize olanak tanır. Daha fazla bilgi için Get started with origin trials (Kaynak denemelerini kullanmaya başlama) başlıklı makaleye göz atın.
Chrome 128'den itibaren başlayan kaynak denemelerine kaydolarak çoklu IdP özelliğini deneyebilirsiniz.
Çoklu IdP'yi denemek için bir RP, kaynağını kaydedebilir ve birinci taraf kaynağı denemesi çalıştırabilir. IdP'nin üçüncü taraf kaynağı denemesine kaydolması ve JavaScript SDK'larını kullanan tüm RP'leri için çoklu IdP özelliğini kullanıma sunması da mümkündür.
Kaynak denemesine katılma adımları:
- Çoklu IdP API'si için deneme sürecine kayıt sayfasına gidin. 2. Register (Kaydol) düğmesini tıklayın ve jeton istemek için formu doldurun.
- Birinci taraf denemesine kaydolmak için RP'nin kaynağını "Web Origin" (Web Kaynağı) alanına girin. Üçüncü taraf kaynaklı deneme için IdP'nin JavaScript SDK'sının kaynağını girin ve "Üçüncü taraf eşleştirme" kutusunu işaretleyin.
- Gönder'i tıklayın.
- Verilen jetonu RP sayfasında sağlayın:
- 1. taraf deneme süreci katılımcıları için:
-
<head>içinde meta etiketi olarak:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">- HTTP üst bilgisi olarak:Origin-Trial: TOKEN_GOES_HERE - Üçüncü taraf deneme süreci katılımcıları için: - Programatik olarak jeton sağlayarak.
- 1. taraf deneme süreci katılımcıları için:
-
Android'de Chrome için Düğme Modu API'si
Button Mode API'nin kaynak denemesi, ilk masaüstü denemesinin ardından 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ı sırasında IdP'den çıkış yapmış olsa bile FedCM API'yi kullanabilir. Oturum açma akışı, kullanıcı hareketiyle başlatılır. Bu da kullanıcının amacını daha iyi yansıtır.
Chrome 128'de, IdP'lerin RP'nin resmi logo simgesini doğrudan istemci meta verileri uç nokta yanıtına eklemesine olanak tanıyan yeni bir özellik kullanıma sunuluyor. Bu, düğme modunda mobil cihazlardaki kullanıcı arayüzünü iyileştirir.
Yapılandırma dosyasındaki IdP markalaması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
}]
Simgelerle ilgili destek hakkında daha fazla bilgi edinmek için geliştirici dokümanlarına göz atın.
Kullanıcı henüz oturum açmamışsa FedCM, kullanıcıdan Chrome özel sekmesi (CCT) aracılığıyla IdP tarafından sağlanan login_url kullanarak IdP'de oturum açmasını ister.
Kullanıcı, geri dönen bir hesapla yeniden kimlik doğruluyorsa açıklama kullanıcı arayüzü gösterilmez.
Deneme sürecine kaydolmak için Masaüstünde Düğme Modu API'si ile ilgili talimatlara bakın. Kaynak denemesine masaüstünde zaten kaydolduysanız özellik, Chrome 128'den itibaren Android'de Chrome'da otomatik olarak kullanılabilir.
Android'de Chrome için Continuation API paketi
Chrome 128 sürümünden itibaren Devamlılık API'si paketi, masaüstündeki ilk denemesinin ardından kaynak denemesi kapsamında Android'de Chrome için kullanılabilecek. Paket; Continuation API, Parameters API, Fields API, Multiple configURLs ve Custom Account Labels dahil olmak üzere 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 iletmeye 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, Multiple configURL bir IdP için birden fazla yapılandırma dosyasını destekler ve Custom Account Labels, IdP'lerin hesaplara açıklama eklemesine olanak tanır. Böylece RP'ler, bu etiketlere göre filtreleme yapabilir.
Devam Ettirme API paketi hakkında daha fazla bilgi edinmek için Masaüstünde Devam Ettirme API paketi başlıklı blog yayınını inceleyin. Deneme sürümüne kaydolmak için bu talimatları uygulayın. Kaynak denemesine masaüstünde zaten kaydolduysanız özellikler, Chrome 128'den itibaren Android'de Chrome'da 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. Standart FedCM geliştirici rehberini ve birikmiş güncelleme günlükleri sayfasını güncel tutacağız.