Para evitar que se cree una llave de acceso nueva si ya existe una en la misma llave de acceso
usa la propiedad excludeCredentials
opcional de WebAuthn's
PublicKeyCredentialCreationOptions
diccionario.
La propiedad excludeCredentials
es un array de descriptores para claves públicas
que ya existen para un usuario determinado. Esta información la proporciona el
servidor de la parte de confianza
cuando quiere impedir la creación de credenciales nuevas para un usuario existente en
un solo autenticador.
El array excludeCredentials
tiene los siguientes atributos:
- type: una cadena que describe el tipo de credencial de clave pública que se va a
de red. El valor predeterminado es "
public-key
". - id: Un
ArrayBuffer
que coincide con una credencial de clave pública existente identificador (PublicKeyCredential.rawId
). Este identificador se genera durante la creación de la instanciaPublicKeyCredential
.
El cliente devuelve un error si el usuario intenta crear un
nueva credencial en un autenticador de plataforma que ya contiene uno de los
credenciales enumeradas en este parámetro. Si el autenticador ya contiene un
de clave pública de este tipo, el autenticador recopila el consentimiento del usuario
de forma habitual y le muestra al usuario un indicador de éxito sin que se haya creado una credencial nueva. Los
Se arroja la excepción InvalidStateError
, lo que indica que el usuario ya tiene un
credencial válida que coincide con excludeCredentials
.
"excludeCredentials": [
{"id": "<id-1>", "type": "public-key"},
{"id": "<id-2>", "type": "public-key"}
]
Este JSON se puede usar para impedir que los autenticadores usen uno de los métodos
que las credenciales se registren más de una vez. Cada "<id-*>
" el valor debe
Se completará con el identificador de la credencial que se excluirá.
Obtenga más información sobre excludeCredentials
en el W3C
recomendación