Per evitare di creare una nuova passkey se ne esiste già una nella stessa passkey
usa la proprietà facoltativa excludeCredentials
del provider WebAuthn
PublicKeyCredentialCreationOptions
dizionario.
La proprietà excludeCredentials
è un array di descrittori per le chiavi pubbliche
già esistenti per un determinato utente. Queste informazioni vengono fornite
Server della parte coinvolta
quando vuole impedire la creazione di nuove credenziali per un utente esistente su
un unico autenticatore.
L'array excludeCredentials
ha i seguenti attributi:
- type: una stringa che descrive il tipo di credenziale a chiave pubblica da utilizzare
generati. Il valore predefinito è "
public-key
". - id: un
ArrayBuffer
che corrisponde a una credenziale di chiave pubblica esistente identificatore (PublicKeyCredential.rawId
). Questo identificatore viene generato durante la creazione dell'istanzaPublicKeyCredential
.
Il client restituisce un errore se l'utente tenta di creare un
una nuova credenziale su un autenticatore di piattaforma che contiene già uno dei
credenziali elencate in questo parametro. Se l'autenticatore contiene già un
chiave pubblica di questo tipo, l'autenticatore raccoglie il consenso dell'utente come
di solito e mostra all'utente un indicatore di riuscita senza la creazione di nuove credenziali. Un
Viene generata un'eccezione InvalidStateError
, che indica che l'utente ha già
credenziale valida corrispondente a excludeCredentials
.
"excludeCredentials": [
{"id": "<id-1>", "type": "public-key"},
{"id": "<id-2>", "type": "public-key"}
]
Questo JSON può essere usato per impedire agli autenticatori con uno dei
credenziali non vengano registrate più di una volta. Ogni elemento "<id-*>
" deve essere
verrà compilato con l'identificatore della credenziale da escludere.
Scopri di più su excludeCredentials
nel W3C
suggerimento