Impedir a criação de uma nova chave de acesso, se já houver uma

Para evitar a criação de uma nova chave de acesso, caso já exista uma na mesma provedor, use a propriedade excludeCredentials opcional do namespace PublicKeyCredentialCreationOptions dicionário.

A propriedade excludeCredentials é uma matriz de descritores para chaves públicas. que já existem para um determinado usuário. Essa informação é fornecida pelo servidor da parte confiável quando ele quer impedir a criação de novas credenciais para um usuário atual no um único autenticador.

A matriz excludeCredentials tem os seguintes atributos:

  • type: uma string que descreve o tipo de credencial de chave pública a ser gerada. O valor padrão é "public-key".
  • id: um ArrayBuffer que corresponde a uma credencial de chave pública atual. identificador (PublicKeyCredential.rawId). Esse identificador é gerado durante a criação da instância PublicKeyCredential.

O client retorna um erro se o usuário tentar criar um nova credencial em um autenticador de plataforma que já contém um dos credenciais listadas nesse parâmetro. Se o autenticador já tiver uma credencial de chave pública desse tipo, o autenticador coleta o consentimento do usuário como de costume e mostra ao usuário um indicador de sucesso sem nenhuma nova credencial criada. Um A exceção InvalidStateError é gerada, indicando que o usuário já tem uma credencial válida correspondente a excludeCredentials.

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

Esse JSON pode ser usado para evitar autenticadores com um dos as credenciais sejam registradas mais de uma vez. Cada "<id-*>" deve ser preenchido com o identificador da credencial a ser excluída.

Saiba mais sobre o excludeCredentials no W3C recomendação