Yayınlanma tarihi: 8 Eylül 2025
Birden fazla sektördeki sektör liderleri, mükemmel bir kullanıcı deneyimi sunarken gizliliği korumanın ne kadar önemli olduğunun farkındadır. Seznam, kullanıcı deneyimi ve gizlilikten ödün vermemeye kararlıdır ve Federated Credential Management'ı (FedCM) başarıyla entegre etmiştir.
FedCM'den yararlanan şirketler
Çeşitli alanlardaki kuruluşlar, FedCM'yi çözümlerine entegre ediyor. FedCM, birleşik kimlik yönetimi için tasarlandığından kimlik sağlayıcılar (IdP'ler) bu özellikten en çok yararlanan taraflardır. Bu bilgiler, daha iyi bir oturum açma deneyimi sunmak için kullanılır. Birçoğu aynı zamanda kimlik sağlayıcı olarak da hareket eden e-ticaret hizmeti sağlayıcıları ve ödeme sağlayıcıları da FedCM aracılığıyla kullanıcı deneyimini iyileştirme fırsatlarını belirler.
Seznam
Seznam, Çek nüfusunun% 90'ına ulaşan bir Avrupa teknoloji şirketi ve kimlik sağlayıcıdır. Sosyal, bilgi ve içerik merkezi olarak hizmet verir. Seznam, iş ortaklarının platformlarında faaliyet gösteren online mağazaların müşterilerinin Seznam hesaplarını kullanarak oturum açmasına olanak tanımak için FedCM'yi kullanmaya başladı.
Seznam, FedCM ile iş ortağı ağlarında kullanıcı oturum açma oranlarında önemli bir artış, daha iyi bir kullanıcı deneyimi ve üçüncü taraf çerezlerinin kullanılabilirliğinden bağımsız olarak tutarlı bir kimlik akışı elde etti.
Motivasyon
Seznam, çeşitli avantajları nedeniyle FedCM'yi uygulamayı tercih etti:
- FedCM, son kullanıcı düşünülerek tasarlanmıştır ve kullanıcılara IdP'ye sağlanan bilgiler üzerinde kontrol olanağı tanır. Bu, Seznam'ın kullanıcıları için güvenli ve gizli bir ortam vizyonuyla uyumludur.
- FedCM, yerleşik bir tarayıcı özelliğidir ve OAuth 2.0 standardını kullanan Seznam'ın mevcut oturum açma deneyimiyle uyumludur.
- FedCM, kimlik federasyonuna yönelik gizlilik odaklı bir yaklaşımdır. Örneğin, kullanıcı oturum açarsa kullanıcının güvenen tarafa (RP) yaptığı ziyaret yalnızca IdP ile paylaşılır. Bu, Seznam'ın sürdürülebilir iş anlayışıyla uyumludur.
Uygulama ayrıntıları
Seznam, FedCM'yi mevcut OAuth çözümünün üzerine bir katman olarak uyguladı. Bu mimaride, FedCM akışı bir OAuth yetkilendirme kodunu IdP'den RP'lere güvenli bir şekilde iletir.
Uygulama çalışması
Seznam, FedCM uygulamasının basit olduğunu ve mevcut yaklaşımıyla uyumlu olduğunu tespit etti. Araştırma ve API uygulaması bir ay sürdü ve iki geliştirici gerekti. FedCM'nin üretime geçirilmesi iki aydan kısa sürdü. API'yi incelemeye önemli ölçüde zaman ayrılan bu süreç tekrarlıydı.
Meydan okumalar
Erken dönemde kullanmaya başlayan Seznam, çeşitli zorluklar tespit etti ve API'nin olgunlaşmasına yardımcı olan değerli geri bildirimler sağladı.
Birden fazla kimlik sağlayıcı desteği
Seznam, FedCM'nin birden fazla kimlik sağlayıcıyı desteklemesiyle ilgileniyordu. Bu özellik, kullanıcıların iş ortağı RP'lerinde Seznam veya Google Hesapları arasında seçim yapmasına olanak tanımayı amaçlıyordu. Ancak Seznam, FedCM uygulamasını ilk kez ele aldığında özellik erken uygulama aşamasındaydı ve geliştiricilerin bir kaynak denemesine kaydolup kullanıcılar için özelliği etkinleştirmek üzere bir jeton kullanması gerekiyordu. Bu nedenle Seznam, özelliğin Chrome'un kararlı sürümünde kullanıma sunulmasını beklemeyi tercih etti.
Bu özellik Chrome 136'dan itibaren kullanılabilir ve geliştiriciler birden fazla kimlik sağlayıcı için destek yapılandırabilir. Örneğin, hem Seznam hem de Google kimlik sağlayıcılarını desteklemek için IdP, iki sağlayıcıyı tek bir get() çağrısına dahil edebilir ve RP bunu bağımsız olarak yapabilir:
// Executed on the RP's side:
const credential = await navigator.credentials.get({
identity: {
providers: [
{
// IdP1: Seznam config file URL
configURL: 'https://szn.cz/.well-known/web-identity',
clientId: '123',
},
{
// Allow Google Sign-in
configURL: 'https://accounts.google.com/gsi/fedcm.json',
clientId: '456',
},
],
},
});
Seznam, bu özelliğin çözümünün bir parçası olacağını belirtiyor. Ayrıca FedCM ekibi, birden fazla SDK desteği uyguluyor ve birden fazla get() çağrısı için destek sunuyor.
Gizli DNS
Seznam, test aşamasında ağ yapılandırmasıyla ilgili bir sorunla karşılaştı. Test IdP sunucusu, yalnızca özel DNS üzerinden erişilebilen bir özel ağda bulunuyordu. Bu kurulum, herkese açık hale getirilmeden önce dahili test ve geliştirme ortamlarında yaygın olarak kullanılır.
Ancak bu kurulum bir zorluğa yol açar: well-known dosyası bir eTLD+1'den sunulmalıdır ve özel geliştirme alanı Genel Ek Listesi'ne kayıtlı değildir. Bu nedenle tarayıcı, geliştirme alanında barındırılan well-known dosyasını getirmek için istek göndermez:
login.idp.example: Üretim alanına örnek.idp.example/.well-known/web-identity: Üretimdewell-knowndosyasının örneği.login.dev.idp.example: örnek geliştirme alanı.login.dev.idp.example/.well-known/web-identity: Geliştirme ortamındaki örnekwell-knowndosyası.
FedCM uygulaması özel bir alanda barındırıldığında, well-known dosyasına yönelik tarayıcı istekleri şu hatayla sonuçlanır:
The fetch of the well-known file resulted in a network error: ERR_NAME_NOT_RESOLVED
Bu hatayı Chrome #fedcm-without-well-known-enforcement flag'ini etkinleştirerek çözebilirsiniz. Bu işaret etkinleştirildiğinde tarayıcı, test amacıyla well-known dosyasını getirmeyi atlar. Chrome'da test flag'lerini nasıl etkinleştireceğinizi öğrenin.
Özel bilgi açıklaması
Seznam, ilk FedCM kullanıcı arayüzü tasarımının yanı sıra ek bilgiler de eklemek istiyordu. Standart FedCM iletişim kutusunda, kullanıcıya belirli verilerin (genellikle kullanıcının profil resmi, adı ve e-posta adresi) RP ile paylaşıldığını belirten sabit bir mesaj gösterilir.
FedCM ekibi, geri bildirimleri dikkate alarak API'yi genişletti ve kullanıcıya sunulan açıklamanın özelleştirilmesini sağladı. Örneğin, Devam etme özelliği ile IdP, kullanıcıyı ek bilgi veya izin istemek için özel bir sayfaya yönlendirebilir. Chrome 132'den itibaren desteklenen özel parametreler ve alanlar özellikleri, daha fazla özelleştirme yapmanıza olanak tanır.
Bağlı taraf kaynağı doğrulama
IdP sunucusu, gelen bir FedCM isteğindeki Origin HTTP başlığını doğrulayarak isteğin, RP'nin IdP'ye önceden kaydettirdiği kaynakla eşleştiğinden emin olmalıdır. Bu sayede FedCM kimlik onaylama isteğinin, client_id kullanan bir saldırgandan değil, yetkili bir RP'den gelmesi sağlanır.
Seznam'ın özel bir durumu var: İş ortağı RP'leri Seznam'a kaydolduğunda RP'nin kaynak verilerini istemiyor. Bu, RP'nin kaynağının doğrulanamadığı anlamına gelir.
Seznam'ın FedCM entegrasyonu, mevcut bir OAuth çözümü üzerine kurulmuştur. Çözümün güvenli kalmasını sağlamak için kaynağı kontrol etmeden hem RP'nin client_id hem de client_secret'nin doğrulanması gibi alternatif bir yol izlendi.
Kimlik sağlayıcının kullanıcıya yönelik alanı
Seznam'ın kullanıcı kimlik doğrulama altyapısı öncelikle szn.cz alanında çalışır. FedCM için gerekli IdP uç noktaları burada barındırılır. Ancak, asıl kurumsal kimliği ve kullanıcıların hizmetlerini yaygın olarak tanıdığı ve güvendiği alan seznam.cz'dır.
FedCM iletişim kutusunda IdP uç noktalarının gerçek kaynak alanı gösterilir: szn.cz. seznam.cz markasına aşina olan kullanıcılar, oturum açma işlemi sırasında daha az tanıdık olan szn.cz alanıyla oturum açmaları istendiğinde kafaları karışabilir ve tereddüt edebilir.
Chrome 141'den itibaren FedCM, IdP uygulamasının barındırıldığı alan adından farklı bir alan adının gösterilmesine izin vermez. Bu kısıtlama, kullanıcı şeffaflığını sağlamak için bilinçli olarak yapılmış bir tasarım tercihidir. Ancak FedCM ekibi, bu sınırlamanın oluşturabileceği zorlukların farkındadır ve olası düzenlemeleri görüşmektedir.
Etki
FedCM API sayesinde Seznam artık iş ortağı kullanıcılarına tek dokunuşla yetkilendirme akışları sağlayabilir. FedCM'nin kullanıcı deneyiminin diğer kimlik doğrulama yöntemlerine kıyasla avantajları vurgulandı.
Seznam, FedCM oturum açma işlemine geçen web sitelerinde kullanıcı etkileşiminde önemli bir artış olduğunu belirtse de diğer faktörlerden kaynaklanan doğrudan etkiyi tam olarak belirlemek için kapsamlı bir analiz yapmadı. FedCM entegrasyonundan önce, uygulama kullanıcı tanımlama için izin verilen karma oluşturulmuş e-posta adreslerinin kullanıldığı misafir ödeme işlemlerine izin veriyordu. Bu tür bir analiz yaparken karşılaşılan zorluk, kullanıcı dönüşümünün FedCM'ye atfedilip atfedilemeyeceğini veya kullanıcının konuk olarak ödeme seçeneğini kullanarak satın alma işlemini tamamlayıp tamamlamayacağını tahmin etmekti. Seznam'ın hipotezine göre, FedCM'nin kullanım kolaylığının artması bu daha yüksek dönüşüm oranına katkıda bulunmuş olabilir.
Sonuç
Seznam, mevcut OAuth çözümünün yanı sıra alternatif bir yetkilendirme akışı sunarak FedCM'yi başarıyla uyguladı. Seznam, kimlik sağlayıcı desteği, özel DNS kurulumları, açıklama metninin özelleştirilmesi, güvenen tarafın kaynak doğrulaması ve kullanıcıya yönelik alan adı gösterimi ile ilgili bazı zorluklarla karşılaşsa da API, uygulanmasından bu yana olgunlaşmıştır. FedCM ekibi, Seznam ve diğer erken kullanıcılardan gelen geri bildirimleri dahil ederek bu zorlukları ele almak için daha iyi araçlar geliştirdi. Bir sonraki adım olarak Seznam, FedCM'nin birden fazla kimlik sağlayıcı desteğini uygulamayı planlıyor.