Publicado em: 5 de junho de 2025
As chaves de acesso foram criadas 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 os melhores resultados 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 de UX de chaves de acesso modernas 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.
- Alinhar com as práticas recomendadas que apoiam a adoção pelo usuário e a 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 tranquila 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. Além dos recursos básicos de registro de chaves de acesso, confira o seguinte:
✅ Especifique "platform" como o valor de vinculação do autenticador a ser transmitido para
navigator.credentials.create() para uma criação de chave de acesso promovida.
- Oferecer um fluxo de criação de chaves de acesso otimizado e sem atrito para quem está criando uma chave de acesso de forma reativa.
✅ Verifique o usuário com o método de autenticação mais forte disponível para que ele possa usar antes de permitir que ele crie uma chave de acesso.
- Isso é importante para evitar que um invasor crie uma chave de acesso em uma conta invadida.
✅ Evite criar chaves de acesso duplicadas para o mesmo provedor usando
excludeCredentials.
- Muitos provedores de chaves de acesso aceitam apenas uma chave por conta e um RP ID. Evite criar duplicados.
✅ Use o AAGUID para identificar o provedor de chaves de acesso e nomear a credencial para o usuário.
- Associar uma chave de acesso ao provedor dela é uma maneira intuitiva de apresentar uma credencial sempre que possível.
✅ Sinalizar se uma tentativa de registrar uma chave de acesso falhar com
PublicKeyCredential.signalUnknownCredential().
- Chaves de acesso perdidas podem causar confusão. Informe ao provedor de chaves de acesso se o servidor não conseguiu registrar uma chave de acesso.
✅ Envie uma notificação ao usuário depois de criar e registrar uma chave de acesso para a conta dele.
- Verifique se o usuário sabe que uma chave de acesso está sendo criada, principalmente quando isso é feito por outra pessoa.
Autenticação com chaves de acesso
Acomodar usuários de senhas e chaves de acesso sem atrito mínimo 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 formulários com chaves de acesso no seu site. Além dos recursos básicos de autenticação de chave de acesso, verifique o seguinte:
✅ Permitir que os usuários façam login com uma chave de acesso usando o 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 tipos de usuários é usar o recurso de preenchimento automático de formulários do navegador.
✅ Sinalize quando a credencial correspondente de uma chave de acesso não for encontrada no back-end com
PublicKeyCredential.signalUnknownCredential().
- Chaves de acesso perdidas podem causar confusão. Informe ao provedor qual chave de acesso não pode ser usada para que ele possa excluí-la.
✅ Peça aos usuários para criar uma chave de acesso manualmente 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 fazer isso.
✅ Criar automaticamente uma chave de acesso (criação condicional) depois que o usuário faz login com uma senha (e um segundo fator).
- Acelere a adoção de chaves de acesso pelos usuários.
✅ Peça a criação de uma chave de acesso local se o usuário tiver feito login com umachave de acesso entre dispositivos.
- Criar uma chave de acesso local ajuda o usuário a fazer login sem ler um QR code da próxima vez.
✅ Sinalize a lista de chaves de acesso disponíveis e detalhes atualizados 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
Explicar bem as chaves de acesso aos usuários ajuda a entender melhor o cenário e ter mais controle sobre elas. Siga as instruções descritas em Ajudar os usuários a gerenciar chaves de acesso com eficiência para criar um recurso de gerenciamento de chaves de acesso no seu site. Confira o que você precisa verificar:
✅ Permitir que os usuários gerenciem chaves de acesso em uma página de gerenciamento de chaves de acesso.
- Crie um local centralizado para os usuários gerenciarem 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 um bloqueio sem precisar usar um método de autenticação mais fraco.
✅ Permitir que os usuários adicionem novos e flexíveis tipos 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 representação visual tangível das chaves de acesso do usuário.
✅ Indique se uma chave de acesso é sincronizável ou não sincronizável.
- Informe o usuário quando uma chave de acesso não for 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 melhora a experiência do usuário.
Outras considerações
✅ Indique os detalhes atualizados do usuário (nome de usuário, nome de exibição) quando ele fizer a atualização.
✅ Criar uma chave de acesso em vez de uma nova senha quando um usuário clicar em "Esqueci a senha".