Empêcher la création d'une clé d'accès s'il en existe déjà une

Pour empêcher la création d'une nouvelle clé d'accès si elle existe déjà dans la même clé d'accès utilisez la propriété facultative excludeCredentials de l'API WebAuthn PublicKeyCredentialCreationOptions dictionnaire.

La propriété excludeCredentials est un tableau de descripteurs de clés publiques. qui existent déjà pour un utilisateur donné. Ces informations sont fournies par le serveur de la partie de confiance lorsqu'il veut empêcher la création de nouveaux identifiants pour un utilisateur existant sur un seul authentificateur.

Le tableau excludeCredentials comporte les attributs suivants:

  • type: chaîne décrivant le type d'identifiant de clé publique à utiliser générées. La valeur par défaut est "public-key".
  • id: un ArrayBuffer qui correspond à des identifiants de clé publique existants identifiant (PublicKeyCredential.rawId). Cet identifiant est généré pendant la création de l'instance PublicKeyCredential.

Le client renvoie une erreur si l'utilisateur tente de créer un un nouvel identifiant sur un authentificateur de plate-forme contenant déjà l'un des les identifiants répertoriés dans ce paramètre. Si l'authentificateur contient déjà un identifiant de clé publique de ce type, l'authentificateur recueille le consentement de l'utilisateur d'habitude, et affiche à l'utilisateur un indicateur de réussite sans qu'aucun nouvel identifiant ne soit créé. Une L'exception InvalidStateError est levée, ce qui indique que l'utilisateur dispose déjà d'une Un identifiant valide a été mis en correspondance avec excludeCredentials.

"excludeCredentials": [
    {"id": "<id-1>", "type": "public-key"},
    {"id": "<id-2>", "type": "public-key"}
  ]

Ce fichier JSON peut être utilisé pour empêcher les authentificateurs avec l'un des d’identifiants d’être enregistrés plusieurs fois. Chaque "<id-*>" doit sera renseigné avec l'identifiant du jeu d'identification à exclure.

Consultez le W3C pour en savoir plus sur excludeCredentials. recommandation