Get your free and exclusive 80-page Banking Passkey Report
web bluetooth cover

Web Bluetooth API ve Passkeys

Passkeys için Web Bluetooth API'nin rolünü anlayın! Bluetooth kullanılabilirliği tespitinin WebAuthn ile Cihazlar Arası Kimlik Doğrulamayı (CDA) nasıl geliştirdiğini öğrenin.

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.

Genel Bakış#

1. Giriş: Web Bluetooth API ve Passkeys#

Passkeys, web'deki yeni oturum açma standardıdır. Passkey'lerin temel özelliklerinden biri QR Kodları ve Bluetooth ile Cihazlar Arası Kimlik Doğrulamadır (CDA). Bu bağlamda, başka bir web API'si önem kazanıyor: Web Bluetooth API.

Web uygulamalarının doğrudan Bluetooth cihazlarıyla etkileşime girmesini sağlayarak, Web Bluetooth API güvenli ve verimli kimlik doğrulama süreçlerinin (özellikle CDA için) sağlanmasında kritik bir rol oynar.

Bu blog yazısında, Web Bluetooth API'nin işleyişini sunacak ve Bluetooth tespitinin passkey ile kimlik doğrulama üzerindeki etkilerini keşfedeceğiz. Aşağıdaki soruları yanıtlamak istiyoruz:

  1. Web Bluetooth API nedir?
  2. Web Bluetooth API nasıl kullanılır?
  3. Bluetooth tespiti passkey'ler için neden önemlidir?

2. Web Bluetooth API Nedir?#

Web Bluetooth API, web uygulamalarının Bluetooth cihazlarına erişmesine ve onlarla iletişim kurmasına olanak tanıyan bir JavaScript arayüzüdür. HTML5 standardının bir parçasıdır ve Chrome, Edge ve Opera gibi tarayıcılar tarafından desteklenir. Bu API, web uygulamalarının şunları yapmasını sağlar:

  • Yakındaki Bluetooth Low Energy (BLE) cihazlarını tarama
  • Eşleştirme izni isteme
  • Generic Attribute Profile (GATT) protokolünü kullanarak veri alışverişi yapma.

Web Bluetooth API'nin üç temel işlevi vardır.

2.1 getAvailability()#

getAvailability(), kullanıcı aracısının Bluetooth'u destekleyip desteklemediğini (yani cihazın bir Bluetooth modülüne sahip olup olmadığını) belirten bir Boolean değerine çözümlenen bir promise döndürür. Bazı kullanıcı aracıları, kullanıcının bu yöntem tarafından döndürülen değeri belirten bir seçeneği yapılandırmasına izin verir.

navigator.bluetooth.getAvailability().then((available) => { if (available) { console.log("Bu cihaz Bluetooth'u destekliyor!"); } else { console.log("Tüh! Bluetooth desteklenmiyor"); } });
Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

2.2 getDevices()#

getDevices(), kaynağın erişim izni olan (menzil dışında ve kapalı olanlar dahil) BluetoothDevices dizisine çözümlenen bir promise döndürür. İzin, Bluetooth.requestDevice()'a yapılan önceki çağrılar aracılığıyla alınır.

navigator.bluetooth.getDevices().then((devices) => { devices.forEach((device) => { console.log("Cihaz:", device.name); }); });

2.3 requestDevice()#

requestDevice(), belirtilen seçeneklerle bir BluetoothDevice nesnesine bir promise döndürür. Bir seçici arayüzü yoksa, bu yöntem kriterlere uyan ilk cihazı döndürür.

navigator.bluetooth .requestDevice({ filters: [ { services: ["battery_service"], }, ], }) .then((device) => { console.log("Cihaz:", device.name); }) .catch((error) => { console.log("Hata:", error); });

Detaylar ve kod örnekleri burada bulunabilir. Ayrıca Web Bluetooth için W3C standardını da burada bulabilirsiniz.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

3. Web Bluetooth API'nin Özellikleri#

  • Yalnızca HTTPS: Web Bluetooth API, güvenli veri iletimini sağlamak için yalnızca güvenli bağlamlarda (HTTPS) kullanılabilir.
  • Kullanıcı eylemi gereklidir: navigator.bluetooth.requestDevice aracılığıyla cihaz keşfi, güvenlik nedenleriyle bir dokunma veya fare tıklaması gibi bir kullanıcı eylemi tarafından tetiklenmelidir.

4. Web Bluetooth API Nasıl Kullanılır?#

Web Bluetooth API desteğini kontrol etmek için aşağıdaki kodu kullanabilirsiniz:

if ("bluetooth" in navigator) { // Web Bluetooth API destekleniyor console.log("Web Bluetooth destekleniyor!"); } else { // Web Bluetooth API desteklenmiyor console.log("Web Bluetooth desteklenmiyor!"); }

Belirli işlevlerin nasıl çağrıldığı yukarıda açıklanmıştır.

5. Web Bluetooth API'nin Avantajları#

Web Bluetooth API, geliştiriciler ve kullanıcılar için çeşitli avantajlar sunar:

  • Etkileşim: Web uygulamalarının yerel uygulamalar veya eklentiler olmadan Bluetooth cihazlarıyla etkileşime girmesini sağlar.
  • Gelişmiş Kullanıcı Deneyimi: Kalp atış hızı monitörleri veya müzik kontrolleri gibi kablosuz cihazların özelliklerine ve sensörlerine erişim sağlar.
  • Güvenlik ve Gizlilik: Kullanıcılar cihaz erişimi için izin vermelidir ve bu izin herhangi bir zamanda iptal edilebilir.

6. Web Bluetooth API ile İlgili Sorunlar#

Avantajlarına rağmen, Web Bluetooth API'nin sınırlamaları vardır:

  • Safari ve Firefox Tarafından Desteklenmemesi: Tüm tarayıcılar API'yi desteklemez. Özellikle Safari ve Firefox'un desteklememesi, kullanıcıların önemli bir bölümünü etkileyebilir.
  • Cihaz Yeteneklerine Bağımlılık: API yalnızca uyumlu Bluetooth Low Energy (BLE) cihazlarıyla çalışır. Ayrıca, düşük pil veya menzil dışında olma gibi faktörler nedeniyle cihazlar keşfedilemeyebilir.
  • Gelişen Spesifikasyon: Bir taslak spesifikasyon olarak, Web Bluetooth API değişikliklere tabidir. Geliştiricilerin en son gelişmeler ve tarayıcı uyumluluğu konusunda güncel kalmaları gerekir.
  • Yanlış Pozitifler: API bazen aslında mevcut olmadığında Bluetooth desteği olduğunu gösterebilir.
  • Kullanıcı Kontrolündeki Kullanılabilirlik: Kullanıcılar ve tarayıcılar Bluetooth izinlerini devre dışı bırakabilir, bu da bir Bluetooth adaptörü mevcut olsa bile getAvailability()'nin false döndürmesine neden olabilir. Bu, Permissions-Policy:Bluetooth ile kontrol edilir. Benzer şekilde, getAvailability() true döndürse bile, Bluetooth adaptörü açık olmayabilir veya kullanıcılar istendiğinde API'yi kullanma iznini reddedebilir.

7. Web Bluetooth API'nin Benimsenmesi#

Web Bluetooth API'nin benimsenmesi hala artmaktadır. Haziran 2024 itibarıyla, Can I Use verilerine göre, küresel kullanıcıların %76,53'ü Web Bluetooth API desteğine sahip cihazlara sahiptir.

Ancak, Safari ve Firefox'taki destek eksikliği önemli bir engel olmaya devam etmekte ve bu tarayıcılardaki kullanıcı deneyimini etkilemektedir. Ayrıca, Bluetooth.getDevices() gibi bazı özelliklerin kullanıcı tarafından açıkça etkinleştirilmesi gerekir, bu da API'yi arka planda kullanmak için bir zorluk olabilir.

En son verileri şurada bulabilirsiniz: https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility

8. Bluetooth Tespiti Passkeys İçin Neden Önemlidir?#

Güvenen tarafların, web sitelerinde ve uygulamalarında passkey sunmak istediklerinde Bluetooth'un kullanılabilirliği hakkında bilgi sahibi olmaları için önemli bir neden vardır.

8.1 Passkey'in Temel Özelliği: QR Kodları ve Bluetooth ile Cihazlar Arası Kimlik Doğrulama (CDA)#

Passkey'lerin yeni, yenilikçi özelliklerinden biri Cihazlar Arası Kimlik Doğrulama (CDA)'dır – aynı zamanda hibrit kimlik doğrulama olarak da bilinir. Bu özellik, kullanıcıların bir cihazda (genellikle bir masaüstü veya dizüstü bilgisayar) mobil cihazlarını kullanarak QR kodları ve Bluetooth aracılığıyla kimlik doğrulamasına olanak tanır. Bu hibrit kimlik doğrulama yöntemi, güvenliği ve rahatlığı artırarak sorunsuz bir kullanıcı deneyimi sağlar. Teknik olmayan kullanıcıların çoğu, COVID pandemisi sırasında kayıt için veya daha sonra masaüstü desteği ekleyen mobil öncelikli mesajlaşma uygulamaları (örneğin, WhatsApp veya Telegram) aracılığıyla QR kodlarını taramaya alışkındır.

Bir CDA stratejisine karar vermek, herhangi bir passkey projesinin başlangıcında çok önemlidir. CDA'ya ne kadar çok güvenirseniz, desteği ve güvenilirliği o kadar iyi olmalıdır. Bu nedenle, bir cihazda Bluetooth kullanılabilirliğini tespit etmek esastır.

8.2 Bluetooth Her Zaman Mevcut Değildir ve CDA Kullanıcı Deneyimi İçin Kötü Olabilir#

Ancak, tüm cihazlarda Bluetooth özelliği bulunmaz veya Bluetooth kapalı olabilir. Passkey sunan güvenen taraflar için, CDA'nın kullanılıp kullanılamayacağını veya başka bir alternatif kimlik doğrulama yönteminin gerekli olup olmadığını belirlemek için Bluetooth kullanılabilirliğini tespit etmek önemlidir. Web Bluetooth API, web uygulamalarının kullanıcı cihazlarında Bluetooth kullanılabilirliğini kontrol etmesini sağlayarak bir çözüm sunar.

Lütfen CDA'nın her zaman kararlı olmadığını, bazen net nedenler olmaksızın bağlantı kuramadığını unutmayın. Ayrıca, API'nin yeniliği nedeniyle, bazen API tarafından yanlış sonuçlar döndürülür.

8.3 Firefox ve Safari'de Bluetooth'un Mevcut Olmamasının Farklı Etkileri#

Web Bluetooth API'nin Firefox ve Safari'de bulunmaması, özellikle Firefox için bir sorundur.

Safari daha az sorun teşkil eder çünkü CDA'nın gerçekleştirilebileceği macOS cihazları, ilk modellerden beri yerleşik Bluetooth'a sahiptir. Ancak, macOS'ta Bluetooth çalışmıyorsa, kullanıcılar cihazlar arası kimlik doğrulamada sorunlar yaşayabilir ve ayarlarını sorun gidermeleri veya alternatif bir yönteme geri dönmeleri gerekebilir. Safari çalıştıran iPhone'lar, başlangıcından beri yerleşik Bluetooth'a sahiptir.

Ancak, Firefox, Windows cihazlarında popüler olduğu için önemli bir sorundur. Bir kullanıcı Firefox'taysa ve CDA kullanmak istiyorsa, güvenen taraf Web Bluetooth API uygulanmadığı için Bluetooth'un mevcut olup olmadığını güvenilir bir şekilde belirleyemez. Bu, kullanıcıların ne yapacaklarını bilmeden belirli noktalarda takılıp kalabilecekleri kötü bir kullanıcı deneyimine neden olabilir.

Önceki bloglarda da gördüğümüz gibi, Windows cihazları passkey benimsenmesi açısından geride kalıyor (State of Passkeys sitesine de bakın). Bluetooth kullanılabilirliğinin ne kadar yaygın olduğuna bir göz atalım.

9. Windows 10'un Bir Bluetooth Gereksinimi Var mı?#

Windows 10'un katı bir Bluetooth gereksinimi yoktur, ancak çoğu modern dizüstü ve masaüstü bilgisayar Bluetooth özellikleriyle birlikte gelir. Ancak, kullanıcı bunu kapatmış olabilir veya bazı yapılandırmalarda, özellikle özel yapım masaüstü bilgisayarlarda mevcut olmayabilir.

10. Windows 11'in Bir Bluetooth Gereksinimi Var mı?#

Windows 11, Windows 10'a benzer şekilde, Bluetooth'u zorunlu kılmaz. Ancak, daha entegre ve modern donanıma yönelik eğilim, çoğu Windows 11 uyumlu cihazın muhtemelen Bluetooth özelliklerine sahip olacağı anlamına gelir. Yine de, kullanıcılar bunu devre dışı bırakabilir, bu da CDA uygulamalarını etkiler.

11. Öneri#

Aşağıdaki tabloda, bir masaüstü cihazın Bluetooth'a hazır olup olmadığını ve dolayısıyla bir CDA istemcisi olarak kullanılıp kullanılamayacağını belirleyip belirleyemeyeceğinizi görebilirsiniz:

İşletim sistemiBluetooth Donanım DesteğiTarayıcı Bluetooth Tespiti
ChromeEdgeFirefoxSafari
Windows 10düşük
Windows 11orta
macOSyüksek

Donanımınız Bluetooth'a hazır olsa bile, Bluetooth işlevselliğinin kullanıcı tarafından kapatılmış olabileceğini unutmayın. Bluetooth kapalıyken, kullanıcı yine de CDA kullanabilir çünkü kullanıcı etkinleştirmeyi seçebilir, bu da Windows ve Mac için çalışır: macOS Bluetooth'u açma isteği

Windows 11 Bluetooth'u açma isteği

Bluetooth kullanılabilirlik bilgisi, özellikle Bluetooth desteğinin daha düşük olduğu ve cihazlar arası kimlik doğrulamanın (passkey tabanlı bir girişte) gerçekleşme olasılığının çok yüksek olduğu Windows 10 ve Windows 11'de ilginçtir. Son macOS cihazlarının tümü Bluetooth desteğine sahiptir. Bu macOS cihazları potansiyel olarak doğrudan iCloud Anahtar Zinciri'nde saklanan passkey'lere de erişebilir, bu yüzden endişe konusu değillerdir.

Windows 10 ve Windows 11'de: Bluetooth'un çalışıp çalışamayacağını öğrenmek için getAvailability() kullanın. Kullanıcının yalnızca Windows dışı passkey'leri olması durumunda, hemen diğer kimlik doğrulama seçeneklerine geri dönebilirsiniz.

Sadece hibrit passkey'lerin mevcut olduğu bir durumda, passkey ile kimlik doğrulamayı tetiklemek başarılı bir kimlik doğrulamaya yol açmaz, aksine kullanıcı için bir çıkmaz sokak olur. Windows 10 ve Windows 11'deki diğer tüm tarayıcılar için, maalesef, CDA desteği olup olmadığını öğrenmenin başka bir yolu yoktur.

12. Sonuç: Passkeys için Web Bluetooth API#

Web Bluetooth API, Bluetooth yetenekleri aracılığıyla passkey ile kimlik doğrulamayı geliştirmek için güçlü bir aracı temsil eder. Bu API'yi anlayarak ve kullanarak, geliştiriciler daha güvenli ve kullanıcı dostu kimlik doğrulama yöntemleri oluşturabilirler. Ancak, aynı zamanda sınırlamalarını da aşmalı ve farklı tarayıcılar ve cihazlarda sorunsuz bir kullanıcı deneyimi sürdürmek için sağlam alternatif mekanizmalar sağlamalıdırlar.

Bu blog yazısıyla, üç temel soruya bir yanıt verdik:

  1. Web Bluetooth API nedir? Web Bluetooth API, web uygulamalarının Bluetooth cihazlarına erişmesine ve onlarla iletişim kurmasına olanak tanıyan, güvenli etkileşimleri kolaylaştıran bir JavaScript arayüzüdür.
  2. Web Bluetooth API nasıl kullanılır? Web Bluetooth API'yi, Bluetooth desteğini kontrol etmek, erişilebilir cihazları listelemek ve cihaz eşleştirmesi istemek için getAvailability(), getDevices() ve requestDevice() gibi işlevleri çağırarak kullanın.
  3. Passkey'ler için Bluetooth tespiti neden önemlidir? Web Bluetooth API'yi passkey uygulama stratejinize entegre ederek, yalnızca Bluetooth desteğini algılayabilen cihazlar varsa CDA'ya geri dönen harika bir passkey tabanlı kimlik doğrulama çözümü oluşturabilirsiniz.

Daha fazla bilgi ve Web Bluetooth API ile ilgili örnekler koleksiyonu için lütfen buraya tıklayın.

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