---
url: 'https://www.corbado.com/it/blog/web-bluetooth-api-passkeys'
title: 'API Web Bluetooth e Passkey'
description: 'Scopri il ruolo dell''API Web Bluetooth per le passkey! Impara come il rilevamento della disponibilità del Bluetooth migliora l''autenticazione cross-device (CDA) con WebAuthn.'
lang: 'it'
author: 'Vincent Delitz'
date: '2025-08-08T11:41:59.936Z'
lastModified: '2026-08-29T06:04:35.640Z'
keywords: 'passkey Bluetooth, webauthn Bluetooth, api javascript Bluetooth, api web Bluetooth, api Bluetooth, rilevamento Bluetooth da browser'
category: 'Authentication'
---

# API Web Bluetooth e Passkey

## 1. Introduzione: API Web Bluetooth e Passkey

Le passkey sono il nuovo standard di login sul web. Una delle funzionalità principali
delle passkey è l'**autenticazione cross-device (CDA)** tramite Bluetooth e codici QR. In
questo contesto, un'altra API web diventa importante:
l'[API Web Bluetooth](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API).

Consentendo alle app web di interagire direttamente con i dispositivi Bluetooth, l'**API
Web Bluetooth** svolge un ruolo cruciale nel garantire processi di
[autenticazione](https://www.corbado.com/it/blog/test-password-manager-terze-parti-per-passkey-app-native) sicuri
ed efficienti (specialmente per la [CDA](https://www.corbado.com/it/glossary/cda)).

Questo post del blog presenterà il funzionamento dell'API Web Bluetooth ed esplorerà le
implicazioni del rilevamento del Bluetooth per
l'[autenticazione](https://www.corbado.com/it/blog/test-password-manager-terze-parti-per-passkey-app-native) con
passkey. Vogliamo rispondere alle seguenti domande:

1. **Cos'è l'API Web Bluetooth?**
2. **Come si usa l'API Web Bluetooth?**
3. **Perché il rilevamento del Bluetooth è importante per le passkey?**

## 2. Cos'è l'API Web Bluetooth?

L'API Web Bluetooth è un'interfaccia JavaScript che consente alle app web di accedere e
comunicare con i dispositivi Bluetooth. Fa parte dello standard HTML5 ed è supportata da
browser come Chrome, Edge e Opera. Questa API permette alle app web di:

- cercare dispositivi Bluetooth Low [Energy](https://www.corbado.com/passkeys-for-energy) (BLE) nelle vicinanze
- richiedere il permesso di accoppiamento
- scambiare dati utilizzando il protocollo Generic Attribute Profile (GATT).

Ci sono tre funzioni chiave dell'API Web Bluetooth.

### 2.1 getAvailability()

`getAvailability()` restituisce una promise che si risolve in un valore booleano,
indicando se l'[user agent](https://www.corbado.com/blog/client-hints-user-agent-chrome-safari-firefox) può
supportare il Bluetooth (quindi se il dispositivo ha un modulo Bluetooth). Alcuni user
agent permettono all'utente di configurare un'opzione che specifica quale valore viene
restituito da questo metodo.

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

### 2.2 getDevices()

`getDevices()` restituisce una promise che si risolve in un array di `BluetoothDevices` a
cui l'origine è autorizzata ad accedere (inclusi quelli fuori portata e spenti).
L'autorizzazione si ottiene tramite chiamate precedenti a `Bluetooth.requestDevice()`.

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

### 2.3 requestDevice()

`requestDevice()` restituisce una promise a un oggetto `BluetoothDevice` con le opzioni
specificate. Se non c'è un'interfaccia utente per la scelta, questo metodo restituisce il
primo dispositivo che corrisponde ai criteri.

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

Dettagli ed esempi di codice si possono trovare
[qui](https://developer.chrome.com/docs/capabilities/bluetooth). Trovate qui anche lo
[standard W3C per il Web Bluetooth](https://webbluetoothcg.github.io/web-bluetooth/#bluetooth).

## 3. Caratteristiche dell'API Web Bluetooth

- **Solo HTTPS:** L'API Web Bluetooth è disponibile solo in contesti sicuri (HTTPS),
  garantendo una trasmissione dei dati sicura.
- **Richiede un gesto dell'utente:** La scoperta di dispositivi tramite
  `navigator.bluetooth.requestDevice` deve essere attivata da un gesto dell'utente, come
  un tocco o un clic del mouse, per motivi di
  [sicurezza](https://www.corbado.com/it/faq/exchange-criptovalute-passkey).

## 4. Come usare l'API Web Bluetooth

Per verificare il supporto dell'API Web Bluetooth, si può usare il seguente codice:

```javascript
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!");
}
```

Il modo in cui vengono chiamate le funzioni specifiche è spiegato sopra.

## 5. Vantaggi dell'API Web Bluetooth

L'API Web Bluetooth offre diversi vantaggi per
[sviluppatori](https://www.corbado.com/it/blog/passkeys-cheat-sheet) e utenti:

- **Interattività:** Permette alle app web di interagire con dispositivi Bluetooth senza
  [app native](https://www.corbado.com/it/blog/webauthn-relying-party-id-rpid-passkey) o plugin.
- **Migliore esperienza utente:** Consente l'accesso a funzionalità e sensori di
  dispositivi wireless come cardiofrequenzimetri o controlli musicali.
- **Sicurezza e privacy:** Gli utenti devono concedere l'autorizzazione per l'accesso ai
  dispositivi, che può essere revocata in qualsiasi momento.

## 6. Problemi con l'API Web Bluetooth

Nonostante i suoi vantaggi, l'API Web Bluetooth ha delle limitazioni:

- **Nessun supporto da parte di Safari e Firefox:** Non tutti i browser supportano l'API.
  In particolare, Safari e Firefox non la supportano, il che può avere un impatto su una
  parte significativa degli utenti.
- **Dipendenza dalle capacità del dispositivo:** L'API funziona solo con dispositivi
  compatibili con Bluetooth Low [Energy](https://www.corbado.com/passkeys-for-energy) (BLE). Inoltre, i
  dispositivi potrebbero non essere rilevabili a causa di fattori come la batteria scarica
  o la distanza.
- **Specifiche in evoluzione:** Essendo una bozza di specifica, l'API Web Bluetooth è
  soggetta a modifiche. Gli [sviluppatori](https://www.corbado.com/it/blog/passkeys-cheat-sheet) devono rimanere
  aggiornati sugli ultimi sviluppi e sulla compatibilità dei browser.
- **Falsi positivi:** L'API a volte può indicare il supporto Bluetooth quando in realtà
  non è disponibile.
- **Disponibilità controllata dall'utente:** Utenti e browser possono disabilitare i
  permessi Bluetooth, facendo sì che `getAvailability()` restituisca `false` anche se è
  presente un adattatore Bluetooth. Questo è controllato tramite la
  `Permissions-Policy:Bluetooth`. Allo stesso modo, anche se `getAvailability()`
  restituisce `true`, l'adattatore Bluetooth potrebbe non essere acceso, o gli utenti
  potrebbero negare il permesso di usare l'API quando richiesto.

## 7. Adozione dell'API Web Bluetooth

L'adozione dell'API Web Bluetooth è ancora in crescita. A giugno 2024, secondo
[Can I Use](https://caniuse.com/?search=web%20bluetooth), il 76,53% degli utenti globali
ha dispositivi con supporto per l'API Web Bluetooth.

![adoption web bluetooth ](https://www.corbado.com/website-assets/adoption_web_bluetooth_6c8993fd57.png)

Tuttavia, la mancanza di supporto in Safari e Firefox rimane un ostacolo significativo,
che influisce sull'esperienza utente su questi browser. Inoltre, alcune delle funzionalità
(ad es. `Bluetooth.getDevices()`) devono essere attivate esplicitamente dall'utente, il
che può rappresentare una sfida per l'utilizzo dell'API in background.

![A screenshot of a computer Description automatically generated](e22a0666712cf2f0943562edb45960c4.png)![adoption web bluetooth browsers](https://www.corbado.com/website-assets/adoption_web_bluetooth_browsers_57b09882da.png)_Trova
i dati più recenti su:
[https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API#browser_compatibility)_

## 8. Perché il rilevamento del Bluetooth è importante per le passkey?

C'è una ragione principale per cui le [relying party](https://www.corbado.com/glossary/relying-party) dovrebbero
conoscere la disponibilità del Bluetooth, quando vogliono offrire le passkey nei loro siti
web e applicazioni.

### 8.1 Funzionalità principale delle passkey: Autenticazione cross-device (CDA) tramite codici QR e Bluetooth

Una delle nuove e innovative funzionalità delle passkey è l'**autenticazione cross-device
(CDA)** – nota anche come
[autenticazione](https://www.corbado.com/it/blog/test-password-manager-terze-parti-per-passkey-app-native)
ibrida. Questa funzione consente agli utenti di autenticarsi su un dispositivo
(tipicamente un desktop o un laptop) utilizzando i loro dispositivi mobili tramite codici
QR e Bluetooth. Questo metodo di
[autenticazione ibrida](https://www.corbado.com/it/blog/webauthn-trasporti-interno-ibrido) migliora la
[sicurezza](https://www.corbado.com/it/faq/exchange-criptovalute-passkey) e la comodità, offrendo un'esperienza
utente fluida. La maggior parte degli utenti non tecnici è ormai abituata a scansionare
codici QR, sia durante la pandemia di COVID per la registrazione, sia tramite app di
messaggistica mobile-first che hanno poi aggiunto il supporto desktop (ad es.
[WhatsApp](https://www.corbado.com/blog/whatsapp-passkeys) o Telegram).

Decidere una strategia [CDA](https://www.corbado.com/it/glossary/cda) è cruciale all'inizio di qualsiasi progetto
di passkey. Più ci si affida alla [CDA](https://www.corbado.com/it/glossary/cda), migliori devono essere il suo
supporto e la sua affidabilità. Pertanto, rilevare la disponibilità del Bluetooth su un
dispositivo è essenziale.

### 8.2 Il Bluetooth non è sempre presente e può peggiorare la UX della CDA

Tuttavia, non tutti i dispositivi hanno funzionalità Bluetooth o potrebbero avere il
Bluetooth disattivato. Per le [relying party](https://www.corbado.com/glossary/relying-party) che offrono
passkey, è essenziale rilevare la disponibilità del Bluetooth per **determinare se la CDA
può essere utilizzata o se è necessario un altro metodo di autenticazione di fallback**.
L'API Web Bluetooth fornisce una soluzione consentendo alle app web di verificare la
disponibilità del Bluetooth sui dispositivi degli utenti.

Tenete presente che la CDA non è sempre stabile e occasionalmente la connessione può
fallire senza ragioni apparenti. Inoltre, a causa della novità dell'API,
[a volte l'API restituisce risultati errati](https://issues.chromium.org/issues/40901954).

### 8.3 Impatto diverso della non disponibilità del Bluetooth in Firefox e Safari

La non disponibilità dell'API Web Bluetooth in Firefox e Safari è un problema, in
particolare per Firefox.

Safari è un problema minore perché i **dispositivi macOS**, dove potrebbe essere eseguita
la CDA, hanno il **Bluetooth integrato fin dai primi modelli**. Tuttavia, se il
[Bluetooth su macOS non funziona](https://setapp.com/how-to/quickly-fix-mac-bluetooth-not-working),
gli utenti potrebbero riscontrare problemi con
l'[autenticazione cross-device](https://www.corbado.com/it/blog/parallels-passkeys-cda) e dover risolvere i
problemi delle loro impostazioni o tornare a un metodo di fallback. Gli iPhone che
eseguono Safari hanno il Bluetooth integrato fin dalla loro nascita.

Tuttavia, **Firefox rappresenta un problema significativo poiché è popolare sui
dispositivi Windows**. Se un utente è su Firefox e vuole usare la CDA, la
[relying party](https://www.corbado.com/glossary/relying-party) **non può determinare in modo affidabile se il
Bluetooth è disponibile**, poiché l'API Web Bluetooth non è implementata. Ciò potrebbe
comportare una scarsa esperienza utente, con gli utenti che potrebbero bloccarsi in
determinati punti senza sapere cosa fare.

Come abbiamo visto anche in blog precedenti, i dispositivi Windows sono in ritardo in
termini di adozione delle passkey (vedi anche
[State of Passkeys](https://state-of-passkeys.io/)). Diamo un'occhiata a quanto sia comune
la disponibilità del Bluetooth.

## 9. Windows 10 ha un requisito Bluetooth?

**Windows 10 non ha un requisito Bluetooth rigoroso**, ma la maggior parte dei laptop e
dei desktop moderni è dotata di funzionalità Bluetooth. Tuttavia, l'utente potrebbe averlo
disattivato o potrebbe non essere disponibile in alcune configurazioni, specialmente sui
desktop assemblati su misura.

## 10. Windows 11 ha un requisito Bluetooth?

**Windows 11**, analogamente a Windows 10, **non richiede obbligatoriamente il
Bluetooth**. Tuttavia, la tendenza verso un hardware più integrato e moderno significa che
la maggior parte dei dispositivi compatibili con [Windows 11](https://www.corbado.com/blog/passkeys-windows-11)
avrà probabilmente funzionalità Bluetooth. Tuttavia, gli utenti possono disabilitarlo,
influenzando le implementazioni della CDA.

## 11. Raccomandazione

Nella tabella seguente potete vedere se è possibile determinare se un dispositivo desktop
è pronto per il Bluetooth e quindi può essere utilizzato come client CDA:

![bluetooth ready devices](https://s3.eu-central-1.amazonaws.com/corbado-cloud-staging-website-assets/bluetooth_ready_devices_9ff94c903c.jpg)

<table>
    <thead>
        <tr>
            <th rowspan="2">Sistema operativo</th>
            <th rowspan="2">Supporto Hardware Bluetooth</th>
            <th colspan="4">Rilevamento Bluetooth del browser</th>
        </tr>
        <tr>
            <th>Chrome</th>
            <th>Edge</th>
            <th>Firefox</th>
            <th>Safari</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Windows 10</td>
            <td>basso</td>
            <td>✅</td>
            <td>✅</td>
            <td>❌</td>
            <td>❌</td>
        </tr>
        <tr>
            <td>Windows 11</td>
            <td>medio</td>
            <td>✅</td>
            <td>✅</td>
            <td>❌</td>
            <td>❌</td>
        </tr>
        <tr>
            <td>macOS</td>
            <td>alto</td>
            <td>✅</td>
            <td>❌</td>
            <td>❌</td>
            <td>❌</td>
        </tr>
    </tbody>
</table>

Tenete presente che anche se il vostro hardware è pronto per il Bluetooth, la funzionalità
Bluetooth potrebbe essere disattivata dall'utente. Quando il Bluetooth è disattivato,
l'utente può comunque utilizzare la CDA perché può ancora scegliere di attivarlo, cosa che
funziona per Windows e [Mac](https://www.corbado.com/it/blog/parallels-passkeys-cda):
![passkeys bluetooth popup macos](https://www.corbado.com/website-assets/passkeys_bluetooth_popup_266940ee52.png)_Richiesta
di macOS per attivare il Bluetooth_

![passkeys bluetooth popup windows](https://www.corbado.com/website-assets/passkeys_bluetooth_popup_win10_5598d7ad8e.png)_Richiesta
di Windows 11 per attivare il Bluetooth_

L'informazione sulla disponibilità del Bluetooth è particolarmente interessante su Windows
10 e [Windows 11](https://www.corbado.com/blog/passkeys-windows-11), dove il supporto Bluetooth è inferiore e c'è
una probabilità molto alta che debba avvenire
un'[autenticazione cross-device](https://www.corbado.com/it/blog/parallels-passkeys-cda) (in un login basato su
passkey). I dispositivi macOS recenti hanno tutti il supporto per il Bluetooth. Questi
dispositivi macOS hanno potenzialmente anche accesso diretto alle passkey memorizzate in
[iCloud Keychain](https://www.corbado.com/glossary/icloud-keychain), quindi non sono motivo di preoccupazione.

**Su Windows 10 e Windows 11: usate `getAvailability()` per scoprire se il Bluetooth può
funzionare. Nel caso in cui l'utente abbia solo passkey non-Windows, potete immediatamente
passare ad altre opzioni di autenticazione.**

In una situazione in cui sono disponibili solo passkey ibride, l'attivazione
dell'autenticazione con passkey non porterà a un'autenticazione riuscita, ma piuttosto a
un vicolo cieco per l'utente. Per tutti gli altri browser su Windows 10 e
[Windows 11](https://www.corbado.com/blog/passkeys-windows-11), sfortunatamente, non c'è altro modo per scoprire
se c'è supporto per la CDA.

## 12. Conclusione: API Web Bluetooth per le Passkey

L'API Web Bluetooth rappresenta un potente strumento per migliorare l'autenticazione con
passkey attraverso le capacità Bluetooth. Comprendendo e sfruttando questa API, gli
[sviluppatori](https://www.corbado.com/it/blog/passkeys-cheat-sheet) possono creare metodi di autenticazione più
sicuri e facili da usare. Tuttavia, devono anche gestirne le limitazioni e garantire
robusti meccanismi di fallback per mantenere un'esperienza utente fluida su diversi
browser e dispositivi.

Con questo post del blog, abbiamo dato una risposta alle tre domande principali:

1. **Cos'è l'API Web Bluetooth?** L'API Web Bluetooth è un'interfaccia JavaScript che
   consente alle app web di accedere e comunicare con i dispositivi Bluetooth, facilitando
   interazioni sicure.
2. **Come si usa l'API Web Bluetooth?** Si utilizza l'API Web Bluetooth chiamando funzioni
   come `getAvailability()`, `getDevices()` e `requestDevice()` per verificare il supporto
   Bluetooth, elencare i dispositivi accessibili e richiedere l'accoppiamento dei
   dispositivi.
3. **Perché il rilevamento del Bluetooth è importante per le passkey?** Integrando l'API
   Web Bluetooth nella tua strategia di [implementazione](https://www.corbado.com/it/blog/passkeys-cheat-sheet)
   delle passkey, puoi creare un'ottima soluzione di autenticazione basata su passkey che
   ricorre alla CDA solo se ci sono dispositivi in grado di rilevare il supporto
   Bluetooth.

Per maggiori informazioni sull'API Web Bluetooth e una raccolta di esempi, cliccate
[qui](https://googlechrome.github.io/samples/web-bluetooth/).
