Para oferecer uma experiência robusta com chaves de acesso, recomendamos que seu app implemente o seguinte:
- Gerenciamento de chaves de acesso do usuário: inclua uma seção dedicada de gerenciamento de chaves de acesso nas configurações do app para permitir que os usuários gerenciem as chaves de acesso.
- Integração do provedor de credenciais: para se comunicar com provedores de credenciais, o servidor de apps pode implementar os endpoints de chaves de acesso para registro, autenticação e exclusão.
Gerenciamento de chaves de acesso do usuário
Para permitir que os usuários gerenciem as chaves de acesso, inclua uma seção dedicada de gerenciamento no app para que eles criem, vejam, renomeiem e excluam as chaves de acesso.
Mostrar chaves de acesso disponíveis
Nas configurações de chaves de acesso do app, forneça aos usuários informações incluindo o provedor de credenciais usado para criar a credencial, a data de criação e a data do último uso.
Para obter as informações do provedor de credenciais, use o identificador exclusivo global (AAGUID, na sigla em inglês) de atestado do autenticador associado à chave de acesso correspondente.
O AAGUID faz parte do PublicKeyCredential retornado quando você
cria a chave de acesso. O AAGUID permite identificar o provedor de credenciais que
criou a chave de acesso. Para saber mais, consulte Determinar o provedor de chaves de acesso com
AAGUID.
Seu app pode mostrar os seguintes detalhes sobre uma chave de acesso:
- Nome da chave de acesso: mostra o nome dado quando a chave de acesso foi registrada. O nome ideal é baseado no provedor de credenciais (usando o AAGUID). Se o provedor não puder ser identificado, use as informações do modelo do dispositivo em
android.os.Build. - Logotipo do provedor: mostra o logotipo do provedor de credenciais. Essa dica visual ajuda os usuários a identificar rapidamente a chave de acesso correta que querem gerenciar.
- Carimbos de data/hora: informe o carimbo de data/hora da criação e do último uso. Essas informações ajudam os usuários a gerenciar as credenciais e identificar chaves de acesso antigas ou não usadas.
- Indicador de status da sincronização: por padrão, as chaves de acesso são sincronizadas com provedores de credenciais, mas os recursos de sincronização podem variar. Para evitar confusão, indique claramente se uma chave de acesso não é compatível com a sincronização.
- Detalhes do último acesso (opcional): forneça detalhes como o navegador, o SO, o endereço IP ou o local do último acesso. Esse é um recurso opcional valioso para os usuários identificarem possíveis atividades suspeitas.
Além desses detalhes, a tela precisa ter botões que permitam aos usuários gerenciar (excluir ou renomear) cada chave de acesso.
Criar várias chaves de acesso
Embora você deva apresentar aos usuários oportunidades de criar chaves de acesso ao longo da jornada deles, como logo após o login, a seção de configurações de chaves de acesso do app precisa permitir que os usuários criem chaves de acesso no provedor de credenciais escolhido.
Para diminuir o risco de bloqueio da conta, permita que os usuários registrem várias chaves de acesso com diferentes provedores de credenciais. Se um provedor de credenciais ficar inacessível (por exemplo, se a plataforma descontinuar o suporte ou o usuário perder o acesso), ele poderá usar outra chave de acesso para fazer login. Verifique se seu banco de dados permite armazenar essas várias credenciais por usuário. No entanto, é possível impedir que os usuários criem uma chave de acesso para a mesma conta com o mesmo provedor de credenciais.
Excluir chaves de acesso
A seção de configurações de chaves de acesso do app precisa permitir que os usuários excluam chaves de acesso.
Integração do provedor de credenciais
Para manter as chaves de acesso consistentes entre o servidor de apps e o provedor de credenciais,
ative o gerenciamento de chaves de acesso no caminho predefinido
/.well-known/passkey-endpoints no servidor de apps. Isso permite que os provedores de credenciais usem diretamente esses endpoints para o gerenciamento de chaves de acesso. Para saber mais, consulte Adicionar endpoints de chaves de acesso.
Outros recursos
- Guia de UX de chaves de acesso
- Vídeo: como reduzir a dependência de senhas em apps Android com suporte a chaves de acesso (em inglês).
- Codelab: aprenda a simplificar as jornadas de autenticação usando a API Credential Manager no seu app Android
- App de exemplo: CredentialManager (link em inglês)