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 birden fazla desteklenen kimlik sağlayıcı dizisi belirtebilir. Düğme Modu API'si 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. 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 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 Kısıtlanmış Taraf'ta oturum açması istenir.
IdP'ler, kullanıcının mevcut hesaplarına ve ilişkili zaman damgalarına göre önceliklendirilir.
- Kullanıcı daha önce RP'ye belirli bir IdP ile giriş yaptıysa (yani "geri gelen hesabı" varsa) bu IdP'ler önce 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, 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'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ı, yalnızca hesabı açıkça tanıdığında otomatik yeniden kimlik doğrulamayı 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 ayarlanmışsa FedCM çağrısı, söz konusu IdP'nin hesaplarını 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.
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
Bir kullanıcı olarak kendiniz deneyin. Aşağıdakilerden emin olun:
- Chrome,
chrome://settings/content/federatedIdentityApi
sayfasında üçüncü taraf oturum açma istemlerini engelleyecek şekilde yapılandırılmamış. - Birden fazla demo IdP'de oturum açtını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 dene
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 kısıtlanmış tarafın 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. 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 deneme sürümlerine kaydolarak çoklu kimlik sağlayıcı özelliğini deneyebilirsiniz.
Kısıtlanmış taraf, Çoklu IdP'yi denemek için kaynağını kaydedip 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ı:
- Çoklu IdP API kaynak denemesi kayıt sayfasına gidin.
- Kaydol düğmesini tıklayın ve jeton istemek için formu doldurun.
- Birinci taraf kaynak denemesine kaydolmak için "Web Kaynağı" alanına Kısıtlanmış Tarafın kaynağını girin. Üçüncü taraf kaynak denemesi 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.
- Kısıtlanmış taraf sayfasında verilen jetonu sağlayın:
- Birinci taraf kaynak denemesi 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 denemesi katılımcıları için:
- Programatik olarak jeton sağlayarak.
- Birinci taraf kaynak denemesi katılımcıları için:
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 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ı yanıtına eklemesine olanak tanıyan yeni bir özellik kullanıma sunuldu. Bu sayede, mobil cihazlarda düğme modundaki kullanıcı arayüzü iyileştirildi.
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
}]
Simge desteği hakkında daha fazla bilgi edinmek için geliştirici belgelerini inceleyin.
Kullanıcı henüz oturum açmamışsa 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ı, geri gelen bir hesapla yeniden kimlik doğrulama yapıyorsa açıklama kullanıcı arayüzü gösterilmez.
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
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
, bir TOA için birden fazla yapılandırma dosyası destekler ve özel hesap etiketleri, TOA'ların hesapları ekleyerek RP'lerin bu etiketlere göre filtrelemesine olanak tanır.
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şimde bulunun ve geri bildirim paylaşın
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.