Chaves de acesso seguras e simples: uma lista de verificação de implantação

As chaves de acesso foram projetadas para revolucionar a experiência de login, oferecendo uma alternativa mais simples, rápida e segura às senhas. Esta lista de verificação vai orientar você pelos principais aspectos da implementação de chaves de acesso para alcançar resultados ótimos de experiência do usuário (UX).

Como usar esta lista de verificação

Esta lista de verificação é destinada a desenvolvedores e equipes de produtos que implementam chaves de acesso nos fluxos de autenticação. Use-o para:

  • Valide se a implementação segue as práticas recomendadas modernas de UX de chave de acesso descritas nos artigos a seguir.
  • Identifique elementos obrigatórios e opcionais que melhoram a usabilidade, a segurança e a compatibilidade.
  • Verifique sua implementação durante o desenvolvimento e antes da implantação.
  • Alinhe-se às práticas recomendadas que oferecem suporte à adoção do usuário e à interoperabilidade do sistema.

Eles ajudam a oferecer uma experiência tranquila e segura para os usuários finais.

Registro de chaves de acesso

Para fazer uma transição suave das senhas para as chaves de acesso no seu site, é fundamental ter um recurso sofisticado de registro de chaves de acesso. Siga as instruções descritas em Criar uma chave de acesso para logins sem senha para criar um recurso de registro de chave de acesso no seu site. Confira o que você precisa verificar além dos recursos básicos de registro de chave de acesso:

✅ Especifique "platform" como o valor do anexo do autenticador a ser transmitido para navigator.credentials.create() para uma criação de chave de acesso promovida.

  • Ofereça um fluxo de criação de chaves de acesso otimizado e sem atrito para quem está criando uma chave de acesso reativa.

✅ Verifique o usuário com o método de autenticação mais seguro disponível para que ele possa criar uma chave de acesso.

  • Isso é importante para impedir que um invasor crie uma chave de acesso em uma conta invadida.

✅ Evite criar chaves de acesso duplicadas para o mesmo provedor de chaves de acesso usando excludeCredentials.

  • Muitos provedores de chaves de acesso acomodam apenas uma chave de acesso por conta e um ID de RP. Evite criar duplicatas.

Use o AAGUID para identificar o provedor de chaves de acesso e nomear a credencial do usuário.

  • Associar uma chave de acesso ao provedor dela é uma maneira intuitiva de apresentar uma credencial quando possível.

✅ Indica se uma tentativa de registrar uma chave de acesso falha com PublicKeyCredential.signalUnknownCredential().

  • Chaves de acesso perdidas podem causar confusão. Avise ao provedor de chave de acesso se o servidor não conseguiu registrar uma chave de acesso.

Enviar uma notificação ao usuário depois de criar e registrar uma chave de acesso para a conta.

  • O usuário precisa saber que uma chave de acesso está sendo criada, especialmente quando ela é feita por outra pessoa.

Autenticação de chaves de acesso

Acomodar usuários de senhas e chaves de acesso sem problemas pode ser um desafio. Siga as instruções descritas em Fazer login com uma chave de acesso usando o preenchimento automático de formulários para criar um recurso de preenchimento automático de chave de acesso no seu site. Confira o que você precisa verificar além dos recursos básicos de autenticação de chave de acesso:

✅ Permitir que os usuários façam login com uma chave de acesso pelo preenchimento automático de formulários.

  • Se o site estiver fazendo a transição de senhas para chaves de acesso, a melhor abordagem para acomodar os dois usuários é usar o recurso de preenchimento automático do formulário do navegador.

✅ Sinal quando a credencial correspondente de uma chave de acesso não é encontrada no back-end com PublicKeyCredential.signalUnknownCredential().

  • Chaves de acesso perdidas podem causar confusão. Informe ao provedor de chave de acesso qual chave de acesso não pode ser usada para que ele possa excluí-la.

✅ Peça para os usuários criarem manualmente uma chave de acesso se eles não tiverem criado uma após um login.

  • Se o usuário ainda não tiver criado uma chave de acesso, incentive-o a criar uma.

Criar automaticamente uma chave de acesso (criação condicionada) depois que o usuário fizer login com uma senha (e um segundo fator).

  • Acelere a adoção da chave de acesso do usuário.

✅ Solicitar a criação de uma chave de acesso local se o usuário tiver feito login com uma chave de acesso entre dispositivos.

  • A criação de uma chave de acesso local ajuda o usuário a fazer login sem precisar ler um QR code na próxima vez.

Sinalizar a lista de chaves de acesso disponíveis e atualizar os detalhes do usuário (nome de usuário, nome de exibição) para o provedor após o login

  • Manter a lista de chaves de acesso e os detalhes do usuário sincronizados entre o servidor e o provedor de chaves de acesso melhora a experiência do usuário.

Gerenciamento de chaves de acesso

Fornecer uma boa compreensão das chaves de acesso para os usuários ajuda a entender melhor o cenário e o controle sobre as chaves de acesso. Siga as instruções descritas em Ajudar os usuários a gerenciar chaves de acesso de maneira eficaz para criar um recurso de gerenciamento de chaves de acesso no seu site. Confira o que verificar:

✅ Permitir que os usuários gerenciem chaves de acesso em uma página de gerenciamento de chaves de acesso.

  • Crie um local central em que os usuários possam gerenciar as chaves de acesso.

✅ Suporte para registrar várias chaves de acesso.

  • A capacidade de registrar várias chaves de acesso ajuda os usuários a evitar bloqueios sem recorrer a um método de autenticação mais fraco.

✅ Permitir que os usuários adicionem tipos novos e flexíveis de chaves de acesso na página de gerenciamento.

✅ Mostre o nome da chave de acesso.

  • Nomeie as chaves de acesso com base no AAGUID e forneça uma visualização tangível das chaves de acesso do usuário.

✅ Indica se uma chave de acesso é sincronizável ou não sincronizável.

  • Avise o usuário quando uma chave de acesso não estiver sincronizada.

✅ Permitir que os usuários removam uma chave pública do servidor.

✅ Sinalizar a lista de chaves de acesso quando uma chave pública associada for removida do servidor.

  • Manter a lista de chaves de acesso sincronizada entre o servidor e o provedor de chaves de acesso melhora a experiência do usuário.
Exemplo de uma página de gerenciamento de chaves de acesso mostrando boas práticas.
Exemplo de uma página de gerenciamento de chaves de acesso mostrando boas práticas.

Outras considerações

Sinalize os detalhes atualizados do usuário (nome de usuário, nome de exibição) quando o usuário os atualizar.

Crie uma chave de acesso em vez de uma nova senha quando um usuário "Esquecer a senha".

Recursos