Get your free and exclusive 80-page Banking Passkey Report
webauthn client capabilities

WebAuthn İstemci Yetenekleri

Passkey entegrasyonunu iyileştirmek, kullanıcı deneyimini (UX) geliştirmek ve kimlik doğrulama akışlarını kolaylaştırmak için getClientCapabilities() aracılığıyla WebAuthn Seviye 3 istemci yeteneklerini keşfedin.

Vincent Delitz

Vincent

Created: August 8, 2025

Updated: August 8, 2025


See the original blog version in English here.

Our mission is to make the Internet a safer place, and the new login standard passkeys provides a superior solution to achieve that. That's why we want to help you understand passkeys and its characteristics better.

1. Giriş#

WebAuthn, passkey'lerin arkasındaki modern standarttır. Geleneksel şifrelere güvenmek yerine, açık anahtar kriptografisinden yararlanarak kullanıcıların biyometrik (parmak izi veya yüz tanıma gibi) veya fiziksel güvenlik anahtarları içerebilen passkey'ler ile kimlik doğrulamasına olanak tanır. Bu değişim, sadece güvenliği artırmakla kalmaz, aynı zamanda şifre yönetimi ihtiyacını ortadan kaldırarak kullanıcı deneyimini de iyileştirir.

WebAuthn Seviye 3 standardı, geliştiricilere ve platformlara passkey'leri uygularken daha fazla kontrol ve esneklik sağlamayı amaçlayan yeni istemci yetenekleri (tarayıcı API'si getClientCapabilities() aracılığıyla alınabilir) sunar. Bu güncellemeler, passkey'lerin cihazlar, tarayıcılar ve platformlar arasında entegrasyon sürecini basitleştiren, daha sorunsuz ve tutarlı bir kullanıcı yolculuğu sağlayan geliştirmeler getirir.

Bu blog yazısında şu soruları yanıtlayacağız:

  1. WebAuthn istemci yetenekleri nedir?
  2. Hangi WebAuthn istemci yetenekleri mevcuttur?
  3. WebAuthn istemci yetenekleri passkey uygulamalarını nasıl iyileştirir?
  4. WebAuthn istemci yetenekleri hem geliştiriciler hem de ürün yöneticileri için neden önemlidir?

Yazının sonunda, bu özelliklerin modern kullanıcı beklentileriyle uyumlu, sorunsuz ve güvenli kimlik doğrulama akışları oluşturmanıza nasıl yardımcı olabileceğini anlayacaksınız.

2. WebAuthn İstemci Yetenekleri Nedir?#

WebAuthn istemci yetenekleri, tarayıcıların ve platformların ne tür WebAuthn işlevlerini desteklediklerini bildirmelerine olanak tanıyan bir dizi özelliktir. Basit bir deyişle, web sitelerine bir kullanıcının cihazında hangi kimlik doğrulama yöntemlerinin ve ayarlarının mevcut olduğunu bildiren bir "özellik kontrol listesi" gibi davranırlar. Bu, geliştiricilerin istemcinin yeteneklerine göre kimlik doğrulama akışlarını uyarlamasına olanak tanıyarak daha sorunsuz ve daha güvenli bir kullanıcı deneyimi sağlar.

Örneğin, bir tarayıcı biyometrik kimlik doğrulamayı (Touch ID gibi) desteklediğini belirtirse, geliştiriciler giriş akışlarını kullanıcılara parmak iziyle giriş yapma seçeneği sunacak şekilde tasarlayabilirler. Tersine, tarayıcı belirli özellikleri desteklemiyorsa, geliştiriciler şifre veya SMS OTP gibi yedek seçenekler sunabilirler.

3. WebAuthn Seviye 3 Standardında Sunulan WebAuthn İstemci Yetenekleri#

WebAuthn Seviye 3 standardı, passkey uygulamalarını daha çok yönlü ve kullanıcı dostu hale getiren birkaç yeni istemci yeteneği sunar. getClientCapabilities() API çağrısı için ilk destek Safari 17.4'te sunulmuştur.

Tarayıcıdaki desteği tespit etmek için aşağıdaki kod parçacığı faydalı olabilir:

// Check if PublicKeyCredential is supported in the current browser if (typeof PublicKeyCredential === "undefined") { console.log("PublicKeyCredential is not supported in this browser."); } // Check if getClientCapabilities method exists on PublicKeyCredential if (typeof PublicKeyCredential.getClientCapabilities === "function") { try { let capabilities = await PublicKeyCredential.getClientCapabilities(); console.log(capabilities); } catch (error) { console.error("Error getting client capabilities:", error); } } else { console.log("getClientCapabilities is not supported in this browser"); }

4. getClientCapabilities()#

getClientCapabilities(), web sitelerinin ve uygulamaların, hangi WebAuthn özelliklerini desteklediğini belirlemek için istemciyi (ör. tarayıcı veya cihaz) sorgulamasına olanak tanır. Geliştiriciler, istemcinin yeteneklerini anlayarak, biyometrik kimlik doğrulama gibi mevcut özelliklerden yararlanmak için kimlik doğrulama akışlarını optimize edebilir ve belirli yeteneklerin olmaması durumunda alternatif yöntemler sağlayabilirler.

Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

WebAuthn istemci yeteneklerine ve bunların passkey entegrasyonunu nasıl etkilediğine daha yakından bakalım:

4.1 conditionalCreate#

conditionalCreate, belirli koşullara göre otomatik passkey oluşturulmasını sağlar. Bir uygulama, şifre yöneticisinin ilgili desteği varsa, şifre otomatik doldurma sırasında otomatik olarak passkey oluşturmak için bu yeteneği kullanabilir. Bu özellik, kullanıcıları otomatik olarak şifrelerden passkey'lere geçirerek passkey benimsenmesini ve sonraki kullanımını artırmaya yardımcı olur.

4.2 conditionalGet#

conditionalCreate'e benzer şekilde, conditionalGet passkey girişlerini otomatik olarak tetikler. Bu, en iyi passkey kullanıcı deneyiminin etkinleştirilmesi gereken senaryolarda kullanışlıdır ve girişi sadece şifresiz değil, aynı zamanda kullanıcı adısız hale getirir (kullanıcılar sadece bir modal / açılır menüde seçilen passkey'e tıklar ve kimlik doğrulaması yapabilir). Geliştiriciler bu yeteneği kullanarak, passkey kimlik doğrulamasının yalnızca uygun olduğunda gerçekleşmesini sağlayarak gereksiz istemleri en aza indirir ve kullanıcı deneyimini geliştirir.

4.3 hybridTransport#

hybridTransport, passkey'lerin farklı cihazlarda kullanılabilmesini sağlayarak sorunsuz cihazlar arası kimlik doğrulamayı (QR kodları ve Bluetooth aracılığıyla) mümkün kılar. Örneğin, bir kullanıcı akıllı telefonunda saklanan bir passkey'i masaüstündeki bir hizmete giriş yapmak için kullanabilir. Bu yetenek, kullanıcıların passkey'leri manuel olarak aktarmalarına veya her cihaz için geleneksel giriş yöntemlerine güvenmelerine gerek kalmadan güvenli bir şekilde kimlik doğrulaması yapmalarına olanak tanıyarak birleşik bir kimlik doğrulama deneyimi sağlar.

4.4 passkeyPlatformAuthenticator#

Windows Hello, Face ID veya Touch ID gibi platform doğrulayıcıları, doğrudan cihazlara yerleştirilmiştir ve kullanıcıların biyometrik veya diğer cihaza özgü yöntemlerle (ör. PIN deseni) kimlik doğrulaması yapmasını sağlayarak daha hızlı, daha sorunsuz ve daha güvenli bir passkey deneyimi sunar.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

4.5 userVerifyingPlatformAuthenticator#

userVerifyingPlatformAuthenticator, passkey kimlik doğrulamasının, aktif bir parmak izi taraması veya yüz tanıma gibi kullanıcı doğrulaması içermesini sağlayarak ekstra bir güvenlik katmanı sunar.

4.6 relatedOrigins#

relatedOrigins yeteneği, aynı kuruluşa ait farklı alan adları (ör. amazon.com ve amazon.de) arasında sorunsuz kimlik doğrulamasına olanak tanır. Örneğin, bir şirket birden fazla alan adını yönetiyorsa veya farklı alt alan adlarına sahipse, kullanıcılar bir kez giriş yapabilir ve her birinde yeniden kimlik doğrulaması yapmadan tüm mülklere erişebilir. Bu yetenek, kullanıcı deneyimini kolaylaştırarak sürtünmeyi azaltır ve özellikle uluslararası ortamlardaki veya çoklu hizmet platformlarına sahip işletmeler için değerlidir.

4.7 signalAllAcceptedCredentials#

signalAllAcceptedCredentials(options) yöntemi, belirli bir kullanıcı için WebAuthn kimlik bilgisi ID'lerinin tam listesini sağlar. WebAuthn Güvenen Tarafları, kullanıcı kimliği doğrulandığında bu yöntemi signalUnknownCredential() yerine kullanmalıdır, çünkü bir gizlilik sızıntısı riski yoktur. Bu yöntem, bir kullanıcının genel anahtar kimlik bilgilerine kapsamlı bir genel bakış sunar ve o anda bağlı olan doğrulayıcılarda güncellenmemiş olabilecek son değişiklikleri de içerir.

Bir örneğe bakalım. Bir kullanıcı (userId: A), Base64URL ile X ve Y olarak kodlanan Kimlik Bilgisi ID'lerine sahip 2 passkey'e sahiptir. Ardından, kullanıcı web hizmetinin (example.com) hesap ayarlarında X passkey'ini siler (böylece genel anahtar silinir). Şimdi, aşağıdaki kod parçacığını çalıştıralım:

PublicKeyCredential.signalAllAcceptedCredentials({ rpId: "example.com", userId: "A", // WebAuthn User Handle, Base64URL. allAcceptedCredentialIds: ["Y"], });

Yukarıdaki kodun yürütülmesi sırasında doğrulayıcı mevcutsa, doğrulayıcı gelecekteki kimlik doğrulama törenlerinden X passkey'ini siler veya gizler. Ancak, doğrulayıcı yürütme sırasında takılı olmayabilir, bu nedenle güvenen tarafların bu kodu periyodik olarak, örneğin her oturum açmada yürütmeleri önerilir.

allAcceptedCredentialIds içinde bulunmayan passkey'ler, potansiyel olarak geri döndürülemez bir şekilde kaldırılacak veya gizlenecektir. Bu nedenle, güvenen tarafların geçerli WebAuthn kimlik bilgisi ID'lerinin listeden asla kaldırılmamasına dikkat etmesi önemlidir. Eğer geçerli bir kimlik bilgisi ID'si yanlışlıkla kaldırılırsa, güvenen taraf passkey'i "göstermek" için mümkün olan en kısa sürede başka bir signalAllAcceptedCredentials(options) çağrısına hemen dahil etmelidir. Eğer passkey gizlenmemiş de kaldırılmışsa, durumu düzeltmek için yapılabilecek pek bir şey yoktur.

Debugger Icon

Want to experiment with passkey flows? Try our Passkeys Debugger.

Try for Free

4.8 signalCurrentUserDetails#

signalCurrentUserDetails(options) yöntemi, kullanıcının mevcut adını ve WebAuthn Görünen Adını bildirir. signalCurrentUserDetails(options) çağrıldığında, istemci bu eylemi yürütmek için tanımlanmış bir dizi adımı izler.

Bir örneğe bakalım. WebAuthn Kullanıcı ID'si A olan bir kullanıcı, bir web sitesinin (example.com) hesap ayarlarında adını günceller. Ardından, güvenen taraf aşağıdaki kodu çalıştırabilir:

PublicKeyCredential.signalCurrentUserDetails({ rpId: "example.com", userId: "A", // user ID, Base64URL. name: "New user name", displayName: "New display name", });

Doğrulayıcı daha sonra yerel olarak kaydedilmiş passkey'in meta verilerini günceller. Bunun en büyük faydası, gelecekteki Koşullu UI / passkey otomatik doldurma isteklerinde, Koşullu UI seçim / açılır menüsünün güncellenmiş adı ve WebAuthn Görünen Adını göstermesidir.

4.9 signalUnknownCredential#

signalUnknownCredential(options) yöntemi, bir WebAuthn Kimlik Bilgisi ID'sinin WebAuthn Güvenen Tarafı tarafından tanınmadığını, örneğin passkey'in kullanıcı tarafından silinmesi durumunda bildirir. signalAllAcceptedCredentials(options)'ın aksine, bu yöntem kabul edilen kimlik bilgisi ID'lerinin tam listesini ve WebAuthn Kullanıcı Tanıtıcısını sağlamayı gerektirmez, böylece kimliği doğrulanmamış arayanlara olası gizlilik sızıntılarını önler.

Bir örneğe bakalım. Bir kullanıcı, bir web sitesinin (example.com) hesap ayarlarında kimlik bilgisi ID'si X olan bir passkey'i siler (böylece genel anahtar silinir). Ancak, özel anahtar hala kullanıcının cihazında mevcuttur. Bu, gelecekteki Koşullu UI / passkey otomatik doldurma giriş isteklerinde (boş bir allowCredentials listesiyle), passkey'in hala seçilebileceği anlamına gelir. Ancak giriş denemesi başarısız olacaktır, çünkü genel anahtar zaten silinmiştir, bu nedenle güvenen taraf şunu çalıştırmalıdır:

PublicKeyCredential.signalUnknownCredential({ rpId: "example.com", credentialId: "X", // credential ID the user just tried, Base64URL });

Doğrulayıcı daha sonra gelecekteki kimlik doğrulama törenlerinden kimlik bilgisi ID'si X olan passkey'i siler veya gizler.

5. WebAuthn İstemci Yeteneklerinin Kullanılabilirliği#

WebAuthn Seviye 3 standardı hala taslak aşamasında olduğundan, bu yeni istemci yeteneklerinin benimsenmesi henüz tam olarak yaygınlaşmamıştır. Farklı tarayıcılar bu özellikleri kademeli olarak uygulamaktadır, ancak destek değişiklik göstermektedir. Aşağıda, yukarıda bahsedilen büyük tarayıcılardaki kullanılabilirliğe ilişkin güncel bir genel bakış bulunmaktadır:

Tarayıcıİstemci Yeteneklerini Destekleyen SürümNotlar
Chrome133Chrome Platform Durumu & Chromium Hata Takipçisi
Safari17.4+getClientCapabilities() özelliğini sunan ilk tarayıcı. Ekim 2024 itibarıyla Safari, conditionalCreate, conditionalMediation, hybridTransport, passkeyPlatformAuthenticator ve userVerifyingPlatformAuthenticator gibi özellikleri desteklemektedir.
Edge133Chromium 133 tabanlıdır. Chromium Hata Takipçisi
Firefox135Mozilla, Firefox 135 ve üzeri sürümlerde WebAuthn Seviye 3 istemci yeteneklerini uygulamaya başlamıştır.

Benimseme hızı, Seviye 3 olgunlaştıkça ve daha fazla tarayıcı bu özellikleri sundukça muhtemelen artacaktır. Şu anda kaç kullanıcının getClientCapabilities()'ten yararlanabileceğini görmek isterseniz, ücretsiz Passkeys Analyzer kullanarak gerçek dünya verilerini kontrol edebilirsiniz. Geliştikçe daha geniş uyumluluk için planlama yapmak üzere tarayıcı sürüm notlarını ve ilgili belgeleri takip edin.

Analyzer Icon

Are your users passkey-ready?

Test Passkey-Readiness

6. Geliştiriciler için Öneriler#

Bir geliştirici olarak, bu yeni WebAuthn istemci yeteneği tespitinin sizin için ne anlama geldiğini ve bunları uygulamanızda nasıl kullanmanız gerektiğini kendinize sorabilirsiniz. Aşağıda, bunları kullanmak için öneriler bulacaksınız.

Ancak, henüz tüm tarayıcıların getClientCapabilities() API çağrısını desteklemediğini unutmayın (Kasım 2024 itibarıyla). Tüm tarayıcılar yetişene kadar kullanılabilecek bir polyfill burada mevcuttur.

6.1 getClientCapabilities() Çağrısını Erken Yapın#

İstemcinin desteklediği özellikleri sayfa yüklemesinin / kimlik doğrulama akışının başlangıcında tespit etmek için kodunuzun başlarında getClientCapabilities() kullanın. Bu, deneyimi dinamik olarak özelleştirmenize ve cihazda / tarayıcıda çalışan passkey özelliklerini sağlamanıza olanak tanır; örneğin, desteklendiğinde platform kimlik doğrulamasını teşvik etmek veya desteklenmiyorsa alternatif yöntemler (ör. SMS OTP'leri veya donanım güvenlik anahtarları) sunmak gibi.

6.2 Şifre Tabanlı Uygulamalarda, conditionalCreate ile Passkey Benimsemesini Artırın#

Şu anda şifre kullanan bir web sitesine / uygulamaya passkey ekliyorsanız, conditionalCreate özelliği passkey benimsemeniz için gerçek bir destekleyici olabilir. Arka planda, uygun bir kimlik bilgisi yöneticisiyle (Ekim 2024 itibarıyla yalnızca Apple Passwords) şifre otomatik doldurma sırasında, otomatik olarak bir passkey oluşturulur ve gelecekteki otomatik doldurmalarda tercih edilir.

6.3 Mümkün Olduğunca Sık ConditionalGet Kullanın#

Sadece yüksek bir passkey benimsemesine değil, aynı zamanda yüksek bir passkey giriş kullanımına da sahip olmak için, cihazın / tarayıcının conditionalGet'i kontrol ederek Koşullu UI / Passkey Otomatik Doldurma kullanıp kullanamayacağını kontrol etmeye çalışın. Bu şekilde, kullanıcıları oluşturulan passkey'i girişler için kullanmaya teşvik edersiniz, çünkü işletim sistemi / tarayıcı tarafından proaktif olarak önerilir ve bir şifreyi otomatik doldurmaktan daha az çaba gerektirir.

6.4 CDA-Öncelikli veya Mobil-Öncelikli Sistemlerde hybridTransport Kullanın#

Kullanıcıların masaüstünden hizmetinize erişiyor olsalar bile akıllı telefonlarından sorunsuz bir şekilde giriş yapmalarını sağlamak için cihazlar arası kimlik doğrulamayı (QR kodu ve Bluetooth aracılığıyla) etkinleştirmek için hybridTransport'u kullanın.

7. Sonuç#

WebAuthn istemci yetenekleri, mevcut passkey boşluklarını gidermede ileriye doğru atılmış önemli bir adımı temsil etmektedir. Bu blog yazısında, WebAuthn istemci yetenekleri hakkındaki temel soruları ele aldık:

  1. WebAuthn istemci yetenekleri nedir? Bu özelliklerin, tarayıcıların ve platformların belirli işlevler için desteklerini bildirmelerine nasıl olanak tanıdığını ve geliştiricilere kimlik doğrulama akışları üzerinde daha fazla kontrol sağladığını açıkladık.
  2. Hangi WebAuthn istemci yetenekleri mevcuttur? getClientCapabilities, conditionalCreate, hybridTransport ve daha fazlası dahil olmak üzere Seviye 3 standardında sunulan yeni yeteneklere genel bir bakış sunduk.
  3. WebAuthn istemci yetenekleri passkey uygulamalarını nasıl iyileştirir? Bu yeteneklerin entegrasyonu nasıl kolaylaştırdığını, cihazlar arası kullanımı nasıl geliştirdiğini ve güvenliği nasıl artırdığını tartıştık.
  4. WebAuthn istemci yetenekleri geliştiriciler için neden önemlidir? Bu özellikler, modern kullanıcı beklentileriyle uyumlu, sorunsuz ve güvenli kimlik doğrulama deneyimleri oluşturmaya yardımcı olarak uygulamayı daha kolay ve daha etkili hale getirir.

Sizi yeni WebAuthn Seviye 3 özelliklerini keşfetmeye ve tarayıcılardaki benimsenmeleri hakkında güncel kalmaya teşvik ediyoruz. Passkey'leri uygulamak ve bu gelişmiş yeteneklerden yararlanmak istiyorsanız, uzman rehberliği ve destek için bizimle iletişime geçin.

Add passkeys to your app in <1 hour with our UI components, SDKs & guides.

Start Free Trial

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles