Questa pagina è stata tradotta automaticamente. Leggi la versione originale in inglese qui.
Whitepaper Passkey enterprise. Guide pratiche, pattern di distribuzione e KPI per programmi passkey.
| Piattaforma | Autenticatori di piattaforma | Chiavi di sicurezza |
|---|---|---|
| Browser web | Windows Hello: ["internal"]Google Password Manager: ["internal", "hybrid"]Portachiavi iCloud: ["internal", "hybrid"] | ["usb", "nfc"] |
| Android nativo | ["internal", "hybrid"] | ["usb", "nfc"] |
| iOS nativo | ⚠️ Vuoto [] (Portachiavi iCloud) | ["usb", "nfc"] |
Nota: in conformità alle specifiche WebAuthn, una sequenza di trasporti vuota significa che le informazioni sui trasporti non sono disponibili o sono omesse per motivi di privacy. Spesso è considerata dai browser come se tutti i trasporti potessero essere possibili.
internal e hybrid dominano le distribuzioni in produzione, mentre gli autenticatori
di piattaforma iOS restituiscono unicamente array di trasporti vuoti.[] per gli autenticatori di
piattaforma come il Portachiavi iCloud, a differenza dei browser web e del Credential
Manager di Android che riportano dati di trasporto accurati.internal e hybrid per controllare quali opzioni dell'interfaccia
utente di autenticazione compaiono.["internal", "hybrid"] sono i più comuni; i trasporti delle
chiavi di sicurezza hardware (usb, nfc) sono molto rari, usati principalmente in
scenari enterprise o ad alta sicurezza.hybrid
varia tra il 60 e il 78 % sul web in Windows e tra il 66 e l'86 % sul web in macOS in
generale, con i flussi identifier-first nella fascia inferiore (52-67 % web Win, 59-76 %
web macOS) e i contesti di notifica sullo stesso dispositivo (same-device-nudge) nella
fascia superiore (79-98 % web Win, 83-98 % web macOS). hybrid è il trasporto a costo
più elevato e dovrebbe essere instradato di conseguenza (Corbado Passkey Benchmark 2026,
1° trimestre 2026).Quando si implementano le passkey su più piattaforme, gli sviluppatori si trovano di fronte a una decisione importante:
La risposta risiede nella comprensione dei trasporti WebAuthn: un dettaglio tecnico che determina come gli autenticatori comunicano con le relying party. Sebbene i trasporti sembrino semplici in teoria, la loro implementazione varia in modo significativo tra browser web, applicazioni native iOS e applicazioni native Android, in particolare per la gestione dei trasporti internal e hybrid.
Questo articolo esamina come funzionano i trasporti WebAuthn su piattaforme diverse e presenta due approcci distinti alla gestione dei trasporti internal e hybrid, ciascuno con i propri compromessi.
Articoli recenti
♟️
Perché hai bisogno dell'Osservabilità dell'Autenticazione per il CIAM
🔑
Le Device Bound Session Credentials (DBSC) spiegate
📖
WebAuthn Relying Party ID (rpID) e Passkey: Domini e App Native
♟️
Strategia Passkey: Perché la Tua Implementazione Passkey Fallirà
♟️
Problemi del Day 2 delle passkey: 5 rischi dopo il lancio
I trasporti WebAuthn definiscono i metodi di comunicazione tra gli autenticatori e i dispositivi client. Le specifiche WebAuthn Level 3 definiscono sei tipi di trasporto:
usb: Utilizzato da
chiavi di sicurezza hardware che
si connettono tramite porte USB, come YubiKey o altri token di
sicurezza FIDO2.
nfc: Abilita la comunicazione con gli autenticatori tramite Near Field
Communication, consentendo agli utenti di avvicinare le proprie chiavi di sicurezza o
dispositivi abilitati NFC.
ble: Facilita l'autenticazione
tramite Bluetooth Low Energy, consentendo la comunicazione
wireless con autenticatori esterni.
smart-card: Utilizzato dai lettori di smart card,
consentendo l'autenticazione tramite
smart card.
hybrid: Abilita
l'autenticazione cross-device,
tipicamente in cui un utente scansiona un
codice QR per autenticarsi tra dispositivi, ad
esempio utilizzando un telefono per autenticarsi su un browser desktop o viceversa. Questo
trasporto può attivare richieste di codici QR sia sui dispositivi desktop che su quelli
mobili, il che potrebbe non essere sempre desiderabile a seconda del contesto. Nota:
hybrid è stato aggiunto in WebAuthn Level 3.
internal: L'autenticatore è integrato nel dispositivo stesso, come il
Portachiavi iCloud (verificato tramite
Face ID o Touch ID) su iPhone,
Windows Hello su PC o
Google Password Manager sui dispositivi
Android. Questi sono autenticatori di piattaforma.
Quando viene creata una passkey, l'autenticatore segnala quali trasporti supporta. Questa
informazione viene inviata alla relying party (il tuo backend),
che dovrebbe persisterla insieme alla credenziale. Durante
l'autenticazione, la
relying party rinvia questi trasporti al client nell'elenco
allowCredentials, aiutando il browser o la piattaforma a determinare quali metodi di
autenticazione offrire all'utente.
La gestione dei trasporti differisce in modo significativo a seconda delle piattaforme, creando le sfide di compatibilità che gli sviluppatori devono affrontare.
I browser ricevono le informazioni sui trasporti dagli autenticatori e le onorano durante i flussi di autenticazione. Quando crei una passkey in Chrome, Safari o Edge, il gestore delle credenziali del browser fornisce dati di trasporto che variano in base all'autenticatore sottostante:
Autenticatori di piattaforma: Windows Hello fornisce solo
["internal"], riflettendo la sua natura legata al dispositivo. Tuttavia, quando Chrome
utilizza Google Password Manager come
autenticatore, fornisce ["internal", "hybrid"] perché
Google Password Manager supporta
l'autenticazione cross-device
tramite telefoni Android.
Chiavi di sicurezza hardware: Forniscono trasporti specifici come ["usb", "nfc"] in
base alle loro effettive capacità.
Gestori di credenziali sincronizzati nel cloud: Il
Portachiavi iCloud in Safari e Google
Password Manager in Chrome forniscono in genere
["internal", "hybrid"] per supportare sia flussi di autenticazione locali che
cross-device.
Queste informazioni fluiscono in modo affidabile nei contesti web, sebbene i trasporti specifici dipendano dall'autenticatore selezionato dal browser per l'archiviazione delle credenziali.
Documentazione: Specifiche W3C WebAuthn
L'API Credential Manager di Android si comporta in modo simile ai browser web. Durante la creazione di passkey nelle app Android native, il Credential Manager fornisce informazioni sui trasporti che rispecchiano il comportamento web: gli autenticatori di piattaforma segnalano accuratamente le loro capacità e il sistema gestisce coerentemente i dati dei trasporti. Gli sviluppatori Android possono fare affidamento su queste informazioni senza una gestione speciale.
Documentazione: Credential Manager di Android
iOS presenta una situazione più complessa. Il framework AuthenticationServices di Apple gestisce i trasporti in modo diverso a seconda del tipo di autenticatore:
Autenticatori di piattaforma (Portachiavi iCloud, verificato tramite Face ID o Touch ID): Restituiscono spesso array di trasporti vuoti durante la creazione della passkey. Questo indica che le informazioni sui trasporti non sono disponibili o sono omesse per motivi di privacy: secondo le specifiche WebAuthn, gli user agent possono restituire sequenze vuote quando le informazioni sui trasporti sono sconosciute o per preservare la privacy. Le relying party dovrebbero considerare i trasporti come suggerimenti piuttosto che come garanzie.
Chiavi di sicurezza: Forniscono effettivamente informazioni sui trasporti (ad es.,
["usb"], ["nfc"]) quando utilizzate con i dispositivi
iOS, seguendo il pattern previsto.
Documentazione: AuthenticationServices di Apple
I dati di produzione dal mondo reale provenienti da applicazioni web e native rivelano i seguenti pattern di trasporto, ordinati per frequenza. Nota che queste distribuzioni sono influenzate da specifiche di implementazione e caratteristiche demografiche del client (uso mobile rispetto a desktop, disponibilità di app native), ma forniscono indicazioni preziose sull'uso tipico dei trasporti:
| Pattern di trasporto | Frequenza | Fonte |
|---|---|---|
["internal", "hybrid"] | Molto comune | Gestori di credenziali sincronizzati nel cloud (Portachiavi iCloud, Google Password Manager) su web e nativo |
["hybrid", "internal"] | Molto comune | Come sopra, variazione di ordine |
[] (array vuoto) | Molto comune | Autenticatori di piattaforma nativi iOS |
["internal"] | Comune | Windows Hello, autenticatori legati al dispositivo |
["internal", "cable"] | Raro | Notazione legacy per hybrid (cable = terminologia obsoleta) |
["nfc", "usb"] | Molto raro | Chiavi di sicurezza hardware |
["usb"] | Molto raro | Chiavi di sicurezza solo USB |
["hybrid"] | Molto raro | Configurazioni solo hybrid |
Punti chiave:
Dominano gli autenticatori di piattaforma: La stragrande maggioranza delle passkey
utilizza il trasporto internal, spesso combinato con hybrid per il supporto
dell'autenticazione cross-device.
Questo riflette l'attenzione del mondo consumer verso gli autenticatori di piattaforma
(Portachiavi iCloud, Google Password Manager).
Gli array vuoti sono comuni: Le applicazioni native iOS restituiscono frequentemente array di trasporti vuoti per gli autenticatori di piattaforma, rappresentando una porzione significativa delle credenziali in produzione. Come discusso nella sezione 2.2.3, questi indicano informazioni sui trasporti non disponibili piuttosto che un supporto di trasporto completo.
Le chiavi di sicurezza sono rare: Le
chiavi di sicurezza hardware
(usb, nfc) rappresentano una minima frazione delle passkey in produzione, indicando il
loro uso primario in scenari aziendali o ad alta sicurezza piuttosto che in applicazioni
consumer.
Esistono variazioni di ordine: L'ordine dei trasporti negli array
(["internal", "hybrid"] rispetto a ["hybrid", "internal"]) varia a seconda della
piattaforma e dell'implementazione dell'autenticatore, ma non comporta differenze
funzionali: entrambi indicano il supporto per gli stessi metodi di trasporto.
Terminologia legacy: L'identificatore del trasporto cable compare occasionalmente
nelle implementazioni precedenti ed è sinonimo di hybrid (caBLE = cloud-assisted
Bluetooth Low Energy, il nome originale per il trasporto hybrid).
Questa distribuzione rafforza l'importanza di gestire correttamente i trasporti internal
e hybrid, poiché rappresentano la stragrande maggioranza delle implementazioni reali di
passkey.
La disponibilità del trasporto mostra ciò che riportano gli autenticatori, non se il
flusso risultante viene completato.
L'analisi del completamento dell'autenticazione cross-device del Corbado Passkey Benchmark 2026
misurava il completamento del trasporto hybrid nel 1° trimestre 2026 tra il 60 e il 78 %
sul web in Windows e tra il 66 e l'86 % sul web in macOS in generale, suddividendosi nel
79-98 % (Win) / 83-98 % (macOS) per gli avvisi sullo stesso dispositivo (same-device
nudge) rispetto al 52-67 % (Win) / 59-76 % (macOS) per i flussi
identifier-first. Considera hybrid come il
trasporto a costo più elevato nella logica di instradamento e preferisci i flussi che
mantengono l'utente sul dispositivo che detiene la credenziale.
Lo stesso autenticatore segnala spesso pattern di trasporto diversi in base a piattaforma, versione e contesto di implementazione. Questa variazione è normale e attesa:
Il Portachiavi iCloud presenta tre pattern:
["internal", "hybrid"] - Il più comune, in genere dai browser web[] (array vuoto) - Molto comune, da
app native iOS["hybrid", "internal"] - Meno comune, variazione di ordine["internal"] o solo ["hybrid"] - Casi limite rariGoogle Password Manager mostra la maggiore variazione:
["hybrid", "internal"] - Pattern più comune["internal", "hybrid"] - Ordinamento alternativo comune["internal", "cable"] - Implementazioni legacy (cable = vecchio termine per hybrid)[] (array vuoto) - Da determinati contesti nativiWindows Hello è il più coerente:
["internal"] - Pattern dominante (legato al dispositivo per progettazione)Gestori di password come 1Password, Bitwarden, Dashlane e LastPass mostrano tutti pattern di variazione simili:
["internal", "hybrid"] e ["hybrid", "internal"][] da contesti di
app native["internal"]Samsung Pass (ecosistema Android) utilizza principalmente:
["hybrid", "internal"] e ["internal", "hybrid"] - Entrambi gli ordinamenti comuniDifferenze di piattaforma: Lo stesso autenticatore si comporta in modo diverso sul web rispetto alle app native, iOS rispetto ad Android, o Windows rispetto a macOS.
Evoluzione della versione: La segnalazione dei trasporti si è evoluta nel tempo.
Versioni precedenti potevano utilizzare cable anziché hybrid, o segnalare combinazioni
diverse.
Scelte di implementazione: Alcuni autenticatori danno priorità prima a internal,
altri a hybrid. L'ordine non ha alcun impatto funzionale, ma varia in base
all'implementazione.
Sensibilità al contesto: Le app native, soprattutto su iOS, ricevono spesso array vuoti anche da autenticatori che segnalano trasporti completi nei contesti web.
Punto fondamentale: Non presumere che gli array di trasporti siano coerenti per un determinato autenticatore. Progetta la tua implementazione per gestire tutte le variazioni in modo elegante, concentrandoti sulla presenza di trasporti specifici piuttosto che sull'esatta corrispondenza dell'array.
Gli sviluppatori si trovano di fronte a una scelta: seguire rigorosamente le specifiche o ottimizzare i trasporti internal e hybrid per l'esperienza utente. Ogni approccio ha pregi e difetti.
Questo approccio è in linea con le specifiche WebAuthn: utilizzare i trasporti esattamente come forniti dall'autenticatore durante la registrazione delle credenziali e reinviarli inalterati durante l'autenticazione.
Implementazione: Quando viene creata una passkey, persisti l'array transports dalla
risposta dell'autenticatore. Durante l'autenticazione, includi questi trasporti esatti
nell'elenco allowCredentials:
{ "allowCredentials": [ { "id": "credential-id-base64", "type": "public-key", "transports": ["internal", "hybrid"] } ] }
Vantaggi:
Svantaggi:
Ideale per: Applicazioni che danno priorità alla conformità agli standard, ambienti aziendali con diversi tipi di autenticatori.
Questo approccio dà priorità all'esperienza utente modificando in modo selettivo i trasporti internal e hybrid in base a specifici obiettivi di ottimizzazione. Piuttosto che una regola generale, considera questi scenari comuni di ottimizzazione:
Problema: Gli autenticatori di piattaforma iOS restituiscono array di trasporti vuoti. Se lasciati vuoti o compilati dai backend, gli utenti potrebbero vedere richieste di chiavi di sicurezza (USB, NFC) accanto alle opzioni della piattaforma, creando confusione nelle applicazioni consumer.
Soluzione: Imposta esplicitamente i trasporti su ["hybrid", "internal"] per gli
autenticatori di piattaforma iOS. In questo modo ti assicuri che vengano offerte solo
l'autenticazione tramite piattaforma e i flussi cross-device, nascondendo le opzioni della
chiave di sicurezza.
// Quando si persistono le credenziali dell'autenticatore di piattaforma iOS if (platform === "iOS" && authenticatorAttachment === "platform") { transports = ["hybrid", "internal"]; }
Risultato: Interfaccia utente di autenticazione pulita senza richieste di chiavi di sicurezza per le passkey create su iOS.
Problema: Durante l'autenticazione su dispositivi mobili, mostrare codici QR per l'autenticazione cross-device crea una cattiva UX: gli utenti si trovano già su un dispositivo mobile con le loro passkey disponibili.
Soluzione: Rimuovi il trasporto hybrid quando l'utente si sta autenticando da un
dispositivo mobile, lasciando solo ["internal"].
// Quando si costruisce allowCredentials per l'autenticazione const transports = isMobileDevice ? credentials.transports.filter((t) => t !== "hybrid") : credentials.transports;
Risultato: Gli utenti di dispositivi mobili vedono solo le opzioni di autenticazione diretta senza inutili richieste di codici QR.
⚠️ Attenzione: La manipolazione dei trasporti non produce sempre risultati coerenti tra le piattaforme. Test estesi mostrano che le combinazioni di browser e sistema operativo gestiscono i trasporti in modo diverso:
hybrid è escluso dai trasportihybrid è inclusoRischio di vicoli ciechi: Un filtraggio dei trasporti eccessivamente restrittivo può
creare vicoli ciechi nell'autenticazione, dove gli utenti non riescono ad accedere del
tutto. Ad esempio, la rimozione di hybrid potrebbe impedire scenari legittimi di
autenticazione cross-device in cui un utente deve autenticarsi da un dispositivo in
prestito. Fornisci sempre metodi di autenticazione di fallback e testa in modo
approfondito sulle tue piattaforme target prima di distribuire ottimizzazioni dei
trasporti.
Questi sono suggerimenti per l'ottimizzazione: WebAuthn fornisce altri meccanismi per ottimizzare l'UX di autenticazione oltre alla manipolazione dei trasporti, come gli hints.
Il comportamento del trasporto è imprevedibile: L'autenticazione cross-device (CDA)
tramite il trasporto hybrid mostra un comportamento incoerente in diverse combinazioni
di browser e OS. I test reali dimostrano che i valori dei trasporti non garantiscono un
comportamento specifico dell'interfaccia utente: le piattaforme interpretano e gestiscono
i trasporti in modo diverso, portando a risultati inaspettati.
Complessità specifica della piattaforma: Quando controlli esplicitamente i trasporti, devi tenere conto delle differenze tra le piattaforme:
["internal"]; l'aggiunta di hybrid attiva
codici QR indesideratihybrid nell'array dei trasportiÈ necessaria una comprensione end-to-end: Controllare esplicitamente i trasporti significa assumersi la responsabilità dell'intero flusso. Devi capire come si comporta ogni combinazione di trasporti su tutte le tue piattaforme target e testarle in modo approfondito. La manipolazione dei trasporti può creare vicoli ciechi in cui non esiste alcun percorso di autenticazione valido per gli utenti.
Vantaggi:
Svantaggi:
Ideale per: Applicazioni consumer con requisiti UX specifici, team con le risorse per mantenere la logica specifica della piattaforma, scenari che privilegiano flussi di autenticazione semplificati rispetto alla rigorosa conformità alle specifiche.
La gestione dei trasporti WebAuthn non esiste isolatamente: è un pezzo della tua strategia generale di implementazione delle passkey. Negli scenari di produzione emergono due approcci comuni, ciascuno con diverse implicazioni per l'uso dei trasporti internal e hybrid.
Questo approccio dà priorità alla flessibilità e alla conformità agli standard, consentendo agli utenti di autenticarsi con qualsiasi autenticatore compatibile.
Caratteristiche dell'implementazione:
[], per consentire a qualsiasi
credenziale di corrispondereusb, nfc, ble)Implicazioni sui trasporti:
Con allowCredentials vuoto, i trasporti diventano meno critici durante l'autenticazione:
la piattaforma mostra tutte le opzioni disponibili. Tuttavia, ciò significa che gli utenti
possono vedere contemporaneamente richieste di chiavi di sicurezza, codici QR e opzioni di
piattaforma, il che può creare una "paralisi decisionale" nelle applicazioni consumer.
Ideale per: Ambienti aziendali, applicazioni con base utenti eterogenea che richiedono supporto per chiavi di sicurezza, scenari che privilegiano la massima flessibilità di autenticazione.
Questo approccio ottimizza per l'UX consumer limitando la creazione di passkey agli autenticatori di piattaforma e utilizzando flussi identifier-first.
Caratteristiche dell'implementazione:
authenticatorAttachment: "platform" per concentrarsi sugli autenticatori
immediatamente disponibiliauthenticatorAttachment, consentendo agli utenti esperti (power
users) di selezionare qualsiasi autenticatore incluse le chiavi di sicurezzapreferImmediatelyAvailableCredentials per
un'autenticazione immediata e invisibile senza richieste di chiavi di sicurezza o codici
QRpreferImmediatelyAvailableCredentials (gli utenti si
autenticano in genere sul dispositivo in cui risiedono le loro passkey)internal e hybridImplicazioni sui trasporti:
Poiché allowCredentials contiene credenziali specifiche con i relativi trasporti, la
gestione dei trasporti diventa cruciale per ottimizzare le esperienze di autenticazione.
La realtà delle chiavi di sicurezza: Le chiavi di sicurezza rappresentano una frazione estremamente piccola dell'utilizzo delle passkey nelle implementazioni consumer su larga scala, principalmente per utenti esperti o utenti con requisiti di sicurezza specifici. L'approccio pensato per i consumatori riconosce questa realtà supportando le chiavi di sicurezza senza ottimizzare i flussi principali attorno ad esse.
Strategia di creazione a due livelli: Le implementazioni possono bilanciare la compatibilità delle chiavi di sicurezza con l'UX consumer ottimizzata attraverso doppi percorsi di creazione:
authenticatorAttachment: "platform", guidando gli utenti verso
passkey immediatamente disponibili con elevati tassi di successoauthenticatorAttachment,
consentendo agli utenti esperti di selezionare chiavi di sicurezza, gestori di password
di terze parti o qualsiasi autenticatore disponibileQuesto pattern appare nelle principali implementazioni: le chiavi di sicurezza sono supportate e funzionali tramite impostazioni, ma i nudge rivolti agli utenti sono ottimizzati per il caso d'uso dominante: gli autenticatori di piattaforma che forniscono un'autenticazione istantanea e silenziosa.
Ideale per: Applicazioni consumer, app native per dispositivi mobili, scenari che privilegiano un'UX semplificata rispetto alla flessibilità dell'autenticatore, piattaforme in cui esistono già flussi identifier-first.
| Caratteristica | Conformità standard | Pensato per i consumatori |
|---|---|---|
| allowCredentials | Array vuoto | Credenziali specifiche dell'utente |
| Tipi di autenticatore | Tutti (piattaforma, chiavi sicure, CDA) | Piattaforma + CDA (primario), chiavi sicurezza (impostaz.) |
| API per app native | Standard WebAuthn | preferImmediatelyAvailableCredentials |
| Chiavi di sicurezza | Supportate in tutti i flussi | Supportate tramite impostazioni |
| Rilevanza trasporto | Bassa (elenco allow vuoto) | Alta (credenziali specifiche) |
| Codici QR mobili | Possono apparire | Possono essere ottimizzati (rimossi) |
| Esperienza utente | Più opzioni, maggiore complessità | Flussi principali semplificati, opzioni per power user |
| Complessità di implementazione | Minore | Maggiore (logica dei trasporti sensibile al contesto) |
| Attrito per il consumatore | Maggiore (più scelte di auth) | Minore (ottimizzato per i casi d'uso dominanti) |
Per le piattaforme che rivelano già l'esistenza dell'account o utilizzano flussi identifier-first (l'utente inserisce l'e-mail prima di vedere le opzioni di accesso), l'approccio orientato al consumatore si allinea in modo naturale. Una volta che l'utente ha fornito il proprio identificatore:
allowCredentials con credenziali specifiche e i relativi trasportiIn questi scenari, i trasporti possono diventare uno strumento di ottimizzazione piuttosto che un problema di sicurezza. Puoi adattare le opzioni di autenticazione in base al contesto del dispositivo (mobile rispetto a desktop) e alle capacità delle credenziali.
Raccomandazione: Per le piattaforme che utilizzano già flussi identifier-first o in
cui l'enumerazione dell'account non è un problema, l'approccio pensato per i consumatori,
unito alla gestione esplicita dei trasporti, fornisce un'UX superiore, in particolare
nelle applicazioni native per dispositivi mobili dove
preferImmediatelyAvailableCredentials consente un'autenticazione biometrica senza
attriti.
Indipendentemente dall'approccio che scegli per la gestione dei trasporti internal e hybrid, segui queste pratiche per ridurre al minimo i problemi:
Persisti i trasporti durante la registrazione: Archivia sempre l'array transports
dalla risposta dell'autenticatore insieme all'ID della credenziale e alla chiave pubblica.
Questi dati sono essenziali per i flussi di autenticazione.
Gestisci con grazia gli array vuoti: Quando ricevi un array di trasporti vuoto dagli autenticatori di piattaforma iOS:
["internal", "hybrid"] per controllare
quali opzioni di autenticazione vengono mostrateStrategie di trasporto web vs native: Differenzia la gestione dei trasporti in base al contesto:
preferImmediatelyAvailableCredentials per
un'autenticazione silenziosa; trasporti inviati così come archiviatiGestisci l'autenticazione con chiave di sicurezza: Quando gli utenti hanno registrato chiavi di sicurezza:
Testa in tutte le piattaforme di destinazione: Crea una matrice di test che copra tutte le combinazioni:
preferImmediatelyAvailableCredentialsauthenticatorAttachmentComprendi la semantica dei trasporti: Riconosci le differenze tra i valori di trasporto vuoti e mancanti:
[]: Indica che le informazioni sui trasporti non sono
disponibili o sono tenute nascoste per motivi di privacy. Gli
user agent possono fornire
sequenze vuote quando non possono, o scelgono di non segnalare le funzionalità di
trasporto. Questo non equivale a "tutti i trasporti supportati"; trattale come indizi
laddove le informazioni non sono disponibili.Monitora le modifiche della piattaforma: Le implementazioni WebAuthn si evolvono. Apple, Google e Microsoft aggiornano regolarmente il comportamento dei loro autenticatori. Rimani informato sui cambiamenti che potrebbero influire sulla gestione dei trasporti.
I trasporti WebAuthn, in particolare i trasporti internal e hybrid, sono dettagli tecnici con un impatto pratico significativo sull'autenticazione cross-device. La tua strategia di gestione dei trasporti dovrebbe essere in linea con il tuo approccio più ampio all'implementazione delle passkey e alle piattaforme di destinazione.
Le decisioni sui trasporti vivono in una strategia più ampia: Il modo in cui gestisci i trasporti dipende dal fatto che tu stia creando per la massima flessibilità (allowCredentials vuoto) o per la UX dei consumatori (identifier-first con credenziali specifiche). Questo secondo aspetto rende i trasporti critici per l'ottimizzazione.
Le differenze tra le piattaforme richiedono gestione: Il web e Android forniscono
informazioni affidabili sui trasporti, mentre gli autenticatori di piattaforma iOS
restituiscono array vuoti. Windows Hello invia solo ["internal"]. Comprendere queste
differenze è essenziale per le distribuzioni in produzione.
Due approcci di trasporto validi: La conformità alle specifiche (fidarsi dei trasporti degli autenticatori) funziona bene per gli scenari aziendali e di massima flessibilità. Il controllo esplicito (ottimizzazione dei trasporti) è adatto alle applicazioni consumer con flussi identifier-first e app mobili native.
Identifier-First abilita l'ottimizzazione del trasporto: Quando gli utenti forniscono prima il loro identificatore, la gestione dei trasporti diventa un potente strumento di UX. Puoi prevenire codici QR indesiderati sui dispositivi mobili, nascondere le opzioni delle chiavi di sicurezza e semplificare l'autenticazione, senza ulteriori preoccupazioni sull'enumerazione degli account.
Per l'azienda / Massima flessibilità:
allowCredentials vuoto per supportare tutti i tipi di autenticatoriPer applicazioni consumer / App native:
authenticatorAttachment: "platform" per un'autenticazione immediata ad alto successoauthenticatorAttachment per
gli utenti esperti che necessitano di chiavi di sicurezzaallowCredentials con credenziali specifiche e trasporti ottimizzatipreferImmediatelyAvailableCredentials per l'autenticazione
silenziosa["hybrid", "internal"]hybrid sui dispositivi mobili per evitare i codici QR ove appropriatoPer piattaforme che dispongono già di flussi Identifier-First:
Inizia in conformità alle specifiche, quindi ottimizza in base alla tua strategia:
Il panorama WebAuthn continua ad evolversi. I fornitori di piattaforme aggiornano regolarmente le loro implementazioni e specifiche come WebAuthn Level 3 introducono nuove funzionalità. Costruire sistemi flessibili che allineino la gestione dei trasporti alla tua più ampia strategia di autenticazione assicura che la tua implementazione della passkey rimanga solida e offra eccellenti esperienze utente man mano che l'ecosistema matura.
Corbado è la Passkey Intelligence Platform per i team CIAM che gestiscono l'autenticazione consumer su larga scala. Ti aiutiamo a vedere ciò che i log IDP e gli strumenti di analytics generici non mostrano: quali dispositivi, versioni di OS, browser e gestori di credenziali supportano i passkey, perché gli enrollment non si trasformano in login, dove il flusso WebAuthn fallisce e quando un aggiornamento di OS o browser interrompe silenziosamente il login — tutto senza sostituire Okta, Auth0, Ping, Cognito o il tuo IDP interno. Due prodotti: Corbado Observe aggiunge osservabilità per i passkey e qualsiasi altro metodo di login. Corbado Connect introduce passkey gestiti con analytics integrato (insieme al tuo IDP). VicRoads gestisce i passkey per oltre 5M di utenti con Corbado (+80 % di attivazione passkey). Parla con un esperto di Passkey →
AuthenticationServices di iOS omette le informazioni sui trasporti per gli autenticatori
di piattaforma come il Portachiavi iCloud,
restituendo array vuoti in conformità alle disposizioni sulla privacy delle specifiche
WebAuthn. Le chiavi di sicurezza su iOS forniscono invece i dati di trasporto, come
["usb"] o ["nfc"]. Le relying party dovrebbero considerare tutti i trasporti come
suggerimenti piuttosto che come garanzie assolute di funzionalità.
cable e hybrid in WebAuthn?#cable è una terminologia legacy sinonimo di hybrid, che sta per caBLE (cloud-assisted
Bluetooth Low Energy). Entrambi descrivono l'autenticazione
cross-device, come la scansione di un codice QR
per autenticare una sessione desktop utilizzando un telefono. hybrid è il termine
attuale introdotto in WebAuthn Level 3 e dovrebbe essere
utilizzato nelle nuove implementazioni.
Per le applicazioni consumer che utilizzano flussi identifier-first, imposta
esplicitamente i trasporti su ["hybrid", "internal"] per gli autenticatori di
piattaforma iOS che hanno restituito array vuoti durante la registrazione. Ciò impedisce
la visualizzazione delle richieste di chiavi di sicurezza USB e NFC nell'interfaccia
utente di autenticazione. L'alternativa conforme alle specifiche è lasciare gli array
vuoti o omettere completamente la proprietà dei trasporti.
La rimozione del trasporto hybrid sui dispositivi mobili impedisce la visualizzazione
delle richieste di codici QR quando gli utenti si trovano già su un dispositivo in cui
risiedono le loro passkey. Tuttavia, la manipolazione dei trasporti produce risultati
incoerenti: alcune piattaforme mostrano codici QR anche quando hybrid è escluso e altre
li nascondono a prescindere. Testa sempre sulle piattaforme di destinazione e fornisci
metodi di autenticazione di fallback per evitare di creare vicoli ciechi.
Un array allowCredentials vuoto supporta tutti i tipi di autenticatori, incluse le
chiavi di sicurezza e l'autenticazione cross-device, ma riduce la rilevanza del trasporto
e può presentare agli utenti più opzioni simultanee. Il popolamento con credenziali utente
specifiche rende la gestione dei trasporti fondamentale per l'ottimizzazione
dell'interfaccia utente, consentendo ai flussi identifier-first di filtrare i codici QR
sui dispositivi mobili e di nascondere le richieste di chiavi di sicurezza nei contesti
consumer.
Scopri come Corbado si integra con la tua distribuzione di passkey e con lo stack di autenticazione esistente.
Esplora la Console
Articoli correlati
Indice