Ajudar os usuários a gerenciar chaves de acesso de maneira eficaz

As chaves de acesso estão surgindo rapidamente como uma alternativa mais segura, fácil e rápida às senhas, oferecendo maior segurança e conveniência para o usuário. Para aproveitar totalmente o potencial das chaves de acesso, é preciso considerar cuidadosamente a experiência do usuário em relação ao gerenciamento delas. Este documento descreve diretrizes e recursos opcionais para projetar um sistema de gerenciamento de chaves de acesso intuitivo, seguro e robusto.

Gerenciar várias chaves de acesso

Permita que os usuários adicionem várias chaves de acesso e usem mais de um provedor. No entanto, não permita que eles adicionem mais de uma chave de acesso para a mesma conta com o mesmo provedor. Se um usuário perder o acesso a um provedor, por exemplo, quando a plataforma não oferecer suporte a ele, ainda será possível fazer login com outra chave de acesso de um provedor diferente. Essa configuração reduz o risco de bloqueios de contas. Verifique se o banco de dados oferece suporte ao armazenamento de várias chaves de acesso por usuário.

Mostrar uma lista de chaves de acesso registradas

Seu site ou app precisa mostrar as chaves de acesso registradas em uma lista com os principais detalhes para ajudar os usuários a gerenciá-las de maneira eficaz. Esta captura de tela mostra como essa página de gerenciamento de chaves de acesso dedicada pode ficar. Ele mostra como um usuário pode criar chaves de acesso em várias plataformas e oferece um local centralizado para gerenciar essas chaves.

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.

Confira alguns detalhes e recursos comuns que os sites e apps podem mostrar sobre uma chave de acesso:

  • Nome da chave de acesso: mostra o nome da chave de acesso fornecido no momento do registro. O ideal é que esse nome corresponda ao provedor de chave de acesso em que foi criado com base no AAGUID. Se nenhum provedor de chave de acesso correspondente for encontrado, nomeá-lo com base nas informações do dispositivo com base na string do user agent deve ser suficiente.
  • Logotipo do provedor de chaves de acesso: mostra o logotipo do provedor de chaves de acesso. Isso ajuda o usuário a identificar a chave de acesso que ele quer gerenciar.
  • Carimbo de data/hora de quando a chave de acesso foi criada e usada pela última vez: gravar e mostrar o carimbo de data/hora de criação e o carimbo de data/hora de último uso da chave de acesso também podem ajudar o usuário a identificar a chave de acesso que ele quer gerenciar.
  • Indicador de dessincronização: as chaves de acesso são sincronizadas por padrão, mas o recurso de sincronização dos provedores de chaves de acesso ainda está em desenvolvimento. É comum haver confusão quando uma chave de acesso não é sincronizada, apesar da expectativa do usuário. Mostrar a incapacidade de sincronização de uma chave de acesso pode ajudar os usuários a esclarecer essa confusão.
  • Botão "Excluir": permite que os usuários excluam a chave de acesso. Consulte Permitir a exclusão de uma chave de acesso para mais detalhes.
  • Botão "Editar": muitos usuários gostam de poder renomear uma chave de acesso. Por exemplo, quando há várias chaves de acesso do mesmo provedor, mas com contas diferentes. Imagine salvar várias chaves de acesso em diferentes Contas do Google. Ao permitir que o usuário renomeie a chave de acesso, ele pode mudar para um nome de sua preferência.
  • Navegador, SO ou endereço IP do último login: o fornecimento opcional de detalhes sobre o último login ajuda o usuário a identificar logins suspeitos. O navegador, o SO ou o endereço IP (ou local) usado para fazer login pode ser uma ótima informação.

Permitir a exclusão de uma chave de acesso

Permitir que os usuários excluam uma chave de acesso. Isso ajuda a organizar a lista, por exemplo, quando um usuário muda para um novo dispositivo, mas a chave de acesso associada está vinculada ao dispositivo mais antigo. Também é útil quando um invasor invade uma conta de usuário e cria uma chave de acesso para uso futuro.

Sinalizar a lista atualizada de chaves de acesso

A exclusão de uma chave de acesso remove a entrada de credencial e a chave pública do banco de dados do servidor. Dessa forma, a chave de acesso vai desaparecer da lista de chaves de acesso registradas e vai aparecer para o usuário que a chave de acesso foi excluída. Na realidade, ela só é removida do servidor, e a chave de acesso armazenada no provedor ainda permanece, o que pode causar confusão. Na próxima vez que o usuário tentar fazer login, a chave de acesso removida ainda vai aparecer como uma opção de login. No entanto, a autenticação com ele falhará, porque a chave pública correspondente já foi excluída do servidor.

Para evitar confusão, é importante manter a chave de acesso em um provedor de chave de acesso e a chave pública no servidor consistente. Para fazer isso, envie a lista atualizada de chaves de acesso ao provedor. Se o navegador e o provedor de chaves de acesso forem compatíveis com a API Signal, eles poderão atualizar a lista de chaves de acesso e excluir as desnecessárias. Se eles não tiverem suporte à API, incentive o usuário a excluir a chave de acesso manualmente.

Excluir a última chave de acesso

Se um usuário tentar excluir a última chave de acesso restante de uma determinada conta, verifique se ele entende que vai precisar fazer login com outra opção com mais atrito e possivelmente menos proteção. Se esse for o único método de login no seu site, o usuário não poderá fazer login novamente. Informe aos usuários como eles podem fazer login na próxima vez, como usar um método de backup, se disponível, ou pedir que eles registrem outra chave de acesso antes de continuar. É uma boa oportunidade para coletar feedback sobre por que eles escolheram não usar uma chave de acesso.

Permitir a criação de novas chaves de acesso

Embora haja oportunidades para criar chaves de acesso ao longo da jornada do usuário, como logo após o login, é crucial ter um hub central em que os usuários possam sempre criar, excluir e gerenciar chaves de acesso. Uma tela de gerenciamento de chaves de acesso é o melhor lugar para isso.

Para criar um fluxo de usuário de chave de acesso, siga o Criar uma chave de acesso para logins sem senha no guia para desenvolvedores. Para ter segurança avançada, permita que os usuários criem uma chave de acesso em um token de segurança de hardware. É esperado que os usuários que desejam gerenciar chaves de acesso tenham mais conhecimento ou experiência. Portanto, permitir que eles criem uma chave de acesso na chave de segurança oferece mais flexibilidade.

Para permitir o salvamento de chaves de acesso em um token de segurança de hardware, deixe authenticatorSelection.authenticatorAttachment indefinido em vez de configurá-lo como "platform" em uma solicitação de criação de chave de acesso. Dessa forma, o navegador aceita a plataforma (dispositivo) e os autenticadores de roaming (uma chave de segurança) sem que a experiência do usuário seja significativamente diferente de permitir apenas um autenticador de plataforma. A opção de criar uma chave de acesso em uma chave de segurança aparece como uma opção secundária.

Lista de verificação

  • Permitir que os usuários gerenciem chaves de acesso em uma página de gerenciamento de chaves de acesso.
  • Suporte ao registro de várias chaves de acesso.
  • Permitir que os usuários adicionem tipos novos e flexíveis de chaves de acesso na página de gerenciamento.
  • Mostrar o nome da chave de acesso.
  • Indica se uma chave de acesso pode ser sincronizada ou não.
  • Permitir que os usuários removam uma chave pública do servidor.
  • Sinalize a lista de chaves de acesso quando uma chave pública associada for removida do servidor.

Outros guias de UX