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

Web Bluetooth API & Passkeys

Erfahren Sie, welche Rolle die Web Bluetooth API für Passkeys spielt. Wir erklären, wie die Erkennung der Bluetooth-Verfügbarkeit die geräteübergreifende Authentifizierung (CDA) mit WebAuthn verbessert.

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. Einführung: Web Bluetooth API & Passkeys#

Passkeys sind der neue Anmeldestandard im Web. Eine der Kernfunktionen von Passkeys ist die geräteübergreifende Authentifizierung (Cross-Device Authentication, CDA) über Bluetooth und QR-Codes. In diesem Zusammenhang wird eine weitere Web-API wichtig: die Web Bluetooth API.

Indem sie Web-Apps ermöglicht, direkt mit Bluetooth-Geräten zu interagieren, spielt die Web Bluetooth API eine entscheidende Rolle bei der Gewährleistung sicherer und effizienter Authentifizierungsprozesse (insbesondere für CDA).

In diesem Blogbeitrag stellen wir die Funktionsweise der Web Bluetooth API vor und untersuchen die Auswirkungen der Bluetooth-Erkennung für die Passkey-Authentifizierung. Wir möchten folgende Fragen beantworten:

  1. Was ist die Web Bluetooth API?
  2. Wie verwendet man die Web Bluetooth API?
  3. Warum ist die Bluetooth-Erkennung für Passkeys wichtig?

2. Was ist die Web Bluetooth API?#

Die Web Bluetooth API ist eine JavaScript-Schnittstelle, die es Web-Apps ermöglicht, auf Bluetooth-Geräte zuzugreifen und mit ihnen zu kommunizieren. Sie ist Teil des HTML5-Standards und wird von Browsern wie Chrome, Edge und Opera unterstützt. Diese API ermöglicht es Web-Apps:

  • nach Bluetooth Low Energy (BLE)-Geräten in der Nähe zu suchen
  • eine Kopplungsgenehmigung anzufordern
  • Daten über das Generic Attribute Profile (GATT)-Protokoll auszutauschen.

Es gibt drei Schlüsselfunktionen der Web Bluetooth API.

2.1 getAvailability()#

getAvailability() gibt ein Promise zurück, das zu einem booleschen Wert aufgelöst wird. Dieser gibt an, ob der User Agent Bluetooth unterstützen kann (also ob das Gerät ein Bluetooth-Modul hat). Bei einigen User Agents kann der Benutzer eine Option konfigurieren, die festlegt, welcher Wert von dieser Methode zurückgegeben wird.

navigator.bluetooth.getAvailability().then((available) => { if (available) { console.log("This device supports Bluetooth!"); } else { console.log("Doh! Bluetooth is not supported"); } });
Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

2.2 getDevices()#

getDevices() gibt ein Promise zurück, das zu einem Array von BluetoothDevices aufgelöst wird, auf die der Origin zugreifen darf (einschließlich derer, die außer Reichweite oder ausgeschaltet sind). Die Berechtigung wird durch frühere Aufrufe von Bluetooth.requestDevice() eingeholt.

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

2.3 requestDevice()#

requestDevice() gibt ein Promise für ein BluetoothDevice-Objekt mit den angegebenen Optionen zurück. Wenn keine Auswahl-Benutzeroberfläche vorhanden ist, gibt diese Methode das erste Gerät zurück, das den Kriterien entspricht.

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

Details und Code-Beispiele finden Sie hier. Hier finden Sie auch den W3C-Standard für Web Bluetooth.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

3. Eigenschaften der Web Bluetooth API#

  • Nur HTTPS: Die Web Bluetooth API ist nur in sicheren Kontexten (HTTPS) verfügbar, was eine sichere Datenübertragung gewährleistet.
  • Benutzeraktion erforderlich: Die Geräteerkennung über navigator.bluetooth.requestDevice muss aus Sicherheitsgründen durch eine Benutzeraktion, wie z. B. eine Berührung oder einen Mausklick, ausgelöst werden.

4. Wie verwendet man die Web Bluetooth API#

Um die Unterstützung der Web Bluetooth API zu prüfen, kann man den folgenden Code verwenden:

if ("bluetooth" in navigator) { // Web Bluetooth API is supported console.log("Web Bluetooth is supported!"); } else { // Web Bluetooth API is not supported console.log("Web Bluetooth is not supported!"); }

Wie die spezifischen Funktionen aufgerufen werden, haben wir bereits oben erklärt.

5. Vorteile der Web Bluetooth API#

Die Web Bluetooth API bietet Entwicklern und Nutzern mehrere Vorteile:

  • Interaktivität: Ermöglicht Web-Apps die Interaktion mit Bluetooth-Geräten ohne native Apps oder Plugins.
  • Verbesserte User Experience: Ermöglicht den Zugriff auf Gerätefunktionen und Sensoren von drahtlosen Geräten wie Herzfrequenzmessern oder Musiksteuerungen.
  • Sicherheit & Datenschutz: Nutzer müssen die Erlaubnis für den Gerätezugriff erteilen, die jederzeit widerrufen werden kann.

6. Probleme mit der Web Bluetooth API#

Trotz ihrer Vorteile hat die Web Bluetooth API auch Einschränkungen:

  • Keine Unterstützung durch Safari und Firefox: Nicht alle Browser unterstützen die API. Insbesondere Safari und Firefox unterstützen sie nicht, was einen erheblichen Teil der Nutzer betrifft.
  • Abhängigkeit von Gerätefähigkeiten: Die API funktioniert nur mit kompatiblen Bluetooth Low Energy (BLE)-Geräten. Außerdem sind Geräte aufgrund von Faktoren wie niedrigem Akkustand oder weil sie sich außer Reichweite befinden, möglicherweise nicht auffindbar.
  • Sich entwickelnde Spezifikation: Als Entwurf einer Spezifikation unterliegt die Web Bluetooth API Änderungen. Entwickler müssen über die neuesten Entwicklungen und die Browserkompatibilität auf dem Laufenden bleiben.
  • Falsch-positive Ergebnisse: Die API kann manchmal eine Bluetooth-Unterstützung anzeigen, obwohl diese tatsächlich nicht verfügbar ist.
  • Benutzergesteuerte Verfügbarkeit: Benutzer und Browser können Bluetooth-Berechtigungen deaktivieren, was dazu führt, dass getAvailability() false zurückgibt, selbst wenn ein Bluetooth-Adapter vorhanden ist. Dies wird über die Permissions-Policy:Bluetooth gesteuert. Selbst wenn getAvailability() true zurückgibt, ist es möglich, dass der Bluetooth-Adapter nicht eingeschaltet ist oder Benutzer die Erlaubnis zur Nutzung der API bei der Abfrage verweigern.

7. Verbreitung der Web Bluetooth API#

Die Akzeptanz der Web Bluetooth API wächst stetig. Laut Can I Use hatten im Juni 2024 76,53 % der weltweiten Nutzer Geräte, die die Web Bluetooth API unterstützen.

Die fehlende Unterstützung in Safari und Firefox bleibt jedoch eine große Hürde, die die User Experience in diesen Browsern beeinträchtigt. Außerdem müssen einige der Funktionen (z. B. Bluetooth.getDevices()) vom Nutzer explizit aktiviert werden, was eine Herausforderung für die Nutzung der API im Hintergrund sein kann.

Die neuesten Daten finden Sie hier: https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility

8. Warum ist die Bluetooth-Erkennung für Passkeys wichtig?#

Es gibt einen Hauptgrund, warum Relying Parties über die Verfügbarkeit von Bluetooth Bescheid wissen sollten, wenn sie Passkeys auf ihren Websites und in ihren Anwendungen anbieten möchten.

8.1 Passkey-Kernfunktion: Geräteübergreifende Authentifizierung (CDA) über QR-Codes & Bluetooth#

Eine der neuen, innovativen Funktionen von Passkeys ist die geräteübergreifende Authentifizierung (Cross-Device Authentication, CDA) – auch bekannt als hybride Authentifizierung. Diese Funktion ermöglicht es Nutzern, sich auf einem Gerät (typischerweise einem Desktop oder Laptop) mit ihren mobilen Geräten über QR-Codes und Bluetooth zu authentifizieren. Diese hybride Authentifizierungsmethode erhöht die Sicherheit und den Komfort und sorgt für eine nahtlose User Experience. Die meisten nicht-technischen Nutzer sind heute an das Scannen von QR-Codes gewöhnt, sei es während der COVID-Pandemie zur Registrierung oder durch Mobile-First-Messaging-Apps, die später Desktop-Unterstützung hinzugefügt haben (z. B. WhatsApp oder Telegram).

Die Entscheidung für eine CDA-Strategie ist zu Beginn eines jeden Passkey-Projekts entscheidend. Je mehr man sich auf CDA verlässt, desto besser müssen Unterstützung und Zuverlässigkeit sein. Daher ist die Erkennung der Bluetooth-Verfügbarkeit auf einem Gerät unerlässlich.

8.2 Bluetooth ist nicht immer vorhanden und kann die CDA UX beeinträchtigen#

Allerdings verfügen nicht alle Geräte über Bluetooth-Fähigkeiten oder haben Bluetooth möglicherweise ausgeschaltet. Für Relying Parties, die Passkeys anbieten, ist es unerlässlich, die Bluetooth-Verfügbarkeit zu erkennen, um festzustellen, ob CDA verwendet werden kann oder ob eine andere Fallback-Authentifizierungsmethode erforderlich ist. Die Web Bluetooth API bietet eine Lösung, indem sie es Web-Apps ermöglicht, die Bluetooth-Verfügbarkeit auf den Geräten der Nutzer zu überprüfen.

Bitte beachten Sie, dass CDA nicht immer stabil ist und Verbindungen gelegentlich ohne ersichtlichen Grund fehlschlagen. Aufgrund der Neuheit der API werden manchmal auch falsche Ergebnisse von der API zurückgegeben.

8.3 Unterschiedliche Auswirkungen der fehlenden Bluetooth-Verfügbarkeit in Firefox und Safari#

Die Nichtverfügbarkeit der Web Bluetooth API in Firefox und Safari ist ein Problem, insbesondere für Firefox.

Safari ist weniger problematisch, da macOS-Geräte, auf denen CDA durchgeführt werden könnte, schon seit frühen Modellen über integriertes Bluetooth verfügen. Wenn jedoch Bluetooth unter macOS nicht funktioniert, können bei Nutzern Probleme mit der geräteübergreifenden Authentifizierung auftreten, sodass sie ihre Einstellungen überprüfen oder auf eine Fallback-Methode zurückgreifen müssen. iPhones, auf denen Safari läuft, haben seit ihrer Einführung integriertes Bluetooth.

Allerdings ist Firefox ein erhebliches Problem, da er auf Windows-Geräten sehr beliebt ist. Wenn ein Nutzer Firefox verwendet und CDA nutzen möchte, kann die Relying Party nicht zuverlässig feststellen, ob Bluetooth verfügbar ist, da die Web Bluetooth API nicht implementiert ist. Dies kann zu einer schlechten User Experience führen, bei der Nutzer an bestimmten Stellen stecken bleiben, ohne zu wissen, was sie tun sollen.

Wie wir auch in früheren Blogs gesehen haben, hinken Windows-Geräte bei der Einführung von Passkeys hinterher (siehe auch State of Passkeys). Schauen wir uns an, wie verbreitet die Bluetooth-Verfügbarkeit ist.

9. Gibt es eine Bluetooth-Anforderung für Windows 10?#

Windows 10 hat keine strikte Bluetooth-Anforderung, aber die meisten modernen Laptops und Desktops verfügen über Bluetooth-Fähigkeiten. Der Nutzer könnte es jedoch ausgeschaltet haben, oder es ist in einigen Konfigurationen, insbesondere bei selbstgebauten Desktops, nicht verfügbar.

10. Gibt es eine Bluetooth-Anforderung für Windows 11?#

Windows 11 schreibt, ähnlich wie Windows 10, kein Bluetooth vor. Der Trend zu stärker integrierter und modernerer Hardware bedeutet jedoch, dass die meisten mit Windows 11 kompatiblen Geräte wahrscheinlich über Bluetooth-Fähigkeiten verfügen werden. Dennoch können Nutzer es deaktivieren, was sich auf CDA-Implementierungen auswirkt.

11. Empfehlung#

In der folgenden Tabelle sehen Sie, ob Sie feststellen können, ob ein Desktop-Gerät Bluetooth-fähig ist und somit als CDA-Client verwendet werden kann:

BetriebssystemBluetooth-Hardware-UnterstützungBluetooth-Erkennung im Browser
ChromeEdgeFirefoxSafari
Windows 10gering
Windows 11mittel
macOShoch

Denken Sie daran, dass selbst wenn Ihre Hardware Bluetooth-fähig ist, die Bluetooth-Funktionalität vom Nutzer ausgeschaltet sein könnte. Wenn Bluetooth ausgeschaltet ist, kann der Nutzer CDA trotzdem verwenden, da er sich immer noch für die Aktivierung entscheiden kann, was bei Windows und Mac funktioniert: macOS-Anfrage zum Einschalten von Bluetooth

Windows 11-Anfrage zum Einschalten von Bluetooth

Die Information über die Bluetooth-Verfügbarkeit ist besonders auf Windows 10 und Windows 11 interessant, wo die Bluetooth-Unterstützung geringer ist und eine sehr hohe Wahrscheinlichkeit besteht, dass eine geräteübergreifende Authentifizierung stattfinden muss (bei einem Passkey-basierten Login). Neuere macOS-Geräte unterstützen alle Bluetooth. Diese macOS-Geräte haben potenziell auch direkten Zugriff auf Passkeys, die im iCloud-Schlüsselbund gespeichert sind, sodass sie unproblematisch sind.

Unter Windows 10 und Windows 11: Verwenden Sie getAvailability(), um herauszufinden, ob Bluetooth funktionieren kann. Falls der Nutzer nur Nicht-Windows-Passkeys hat, können Sie sofort auf andere Authentifizierungsoptionen ausweichen.

In einer Situation, in der nur hybride Passkeys verfügbar sind, führt das Auslösen der Passkey-Authentifizierung nicht zu einer erfolgreichen Authentifizierung, sondern zu einer Sackgasse für den Nutzer. Für alle anderen Browser unter Windows 10 und Windows 11 gibt es leider keine andere Möglichkeit herauszufinden, ob CDA unterstützt wird.

12. Fazit: Web Bluetooth API für Passkeys#

Die Web Bluetooth API ist ein leistungsstarkes Werkzeug zur Verbesserung der Passkey-Authentifizierung durch Bluetooth-Funktionen. Durch das Verständnis und die Nutzung dieser API können Entwickler sicherere und benutzerfreundlichere Authentifizierungsmethoden erstellen. Sie müssen jedoch auch mit den Einschränkungen umgehen und robuste Fallback-Mechanismen sicherstellen, um eine nahtlose User Experience über verschiedene Browser und Geräte hinweg zu gewährleisten.

Mit diesem Blogbeitrag haben wir die drei Kernfragen beantwortet:

  1. Was ist die Web Bluetooth API? Die Web Bluetooth API ist eine JavaScript-Schnittstelle, die es Web-Apps ermöglicht, auf Bluetooth-Geräte zuzugreifen und mit ihnen zu kommunizieren, um sichere Interaktionen zu ermöglichen.
  2. Wie verwendet man die Web Bluetooth API? Man verwendet die Web Bluetooth API durch den Aufruf von Funktionen wie getAvailability(), getDevices() und requestDevice(), um die Bluetooth-Unterstützung zu prüfen, auf zugängliche Geräte zuzugreifen und eine Gerätekopplung anzufordern.
  3. Warum ist die Bluetooth-Erkennung für Passkeys wichtig? Durch die Integration der Web Bluetooth API in Ihre Passkey-Implementierungsstrategie können Sie eine hervorragende Passkey-basierte Authentifizierungslösung entwickeln, die nur dann auf CDA zurückgreift, wenn Geräte vorhanden sind, die die Bluetooth-Unterstützung erkennen können.

Für weitere Informationen zur Web Bluetooth API und eine Sammlung von Beispielen klicken Sie bitte hier.

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