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ânciaPublicKeyCredential
.
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