Pour offrir une expérience robuste avec les clés d'accès, nous vous recommandons d'implémenter les éléments suivants dans votre application :
- Gestion des clés d'accès utilisateur : incluez une section dédiée à la gestion des clés d'accès dans les paramètres de votre application pour permettre aux utilisateurs de gérer leurs clés d'accès.
- Intégration du fournisseur d'identifiants : pour communiquer avec les fournisseurs d'identifiants, le serveur d'application peut implémenter les points de terminaison de clé d'accès pour l'enregistrement, l'authentification et la suppression.
Gestion des clés d'accès utilisateur
Pour permettre à vos utilisateurs de gérer leurs clés d'accès, incluez une section dédiée à la gestion des clés d'accès dans votre application. Ils pourront ainsi créer, afficher, renommer et supprimer leurs clés d'accès.
Afficher les clés d'accès disponibles
Dans les paramètres de votre application pour les clés d'accès, fournissez à vos utilisateurs des informations, y compris le fournisseur d'identifiants utilisé pour créer l'identifiant, la date de création et la date de dernière utilisation.
Pour obtenir les informations sur le fournisseur d'identifiants, utilisez l'identifiant unique global (AAGUID) de l'attestation de l'authentificateur associé à la clé d'accès correspondante.
L'AAGUID fait partie de PublicKeyCredential renvoyé lorsque vous créez la clé d'accès. L'AAGUID vous permet d'identifier le fournisseur d'identifiants qui a créé la clé d'accès. Pour en savoir plus, consultez Déterminer le fournisseur de clé d'accès avec AAGUID.
Votre application peut afficher les informations suivantes sur une clé d'accès :
- Nom de la clé d'accès : affiche le nom donné lors de l'enregistrement de la clé d'accès. Le nom idéal est basé sur le fournisseur d'identifiants (à l'aide de l'AAGUID). Si le fournisseur ne peut pas être identifié, utilisez les informations sur le modèle de l'appareil à partir de
android.os.Build. - Logo du fournisseur : affichez le logo du fournisseur d'identifiants. Ce repère visuel aide les utilisateurs à identifier rapidement la clé d'accès qu'ils souhaitent gérer.
- Codes temporels : indiquez le code temporel de création et le code temporel de la dernière utilisation. Ces informations aident les utilisateurs à gérer leurs identifiants et à identifier les clés d'accès anciennes ou inutilisées.
- Indicateur d'état de la synchronisation : par défaut, les clés d'accès sont synchronisées avec les fournisseurs d'identifiants, mais les fonctionnalités de synchronisation peuvent varier. Pour éviter toute confusion chez les utilisateurs, indiquez clairement si une clé d'accès ne permet pas la synchronisation.
- Détails de la dernière connexion (facultatif) : fournissez des informations telles que le navigateur, l'OS, l'adresse IP ou le lieu de la dernière connexion. Il s'agit d'une fonctionnalité optionnelle utile pour identifier les activités potentiellement suspectes.
En plus de ces informations, l'écran doit comporter des boutons permettant aux utilisateurs de gérer (supprimer ou renommer) chaque clé d'accès.
Créer plusieurs clés d'accès
Bien que vous deviez offrir à vos utilisateurs la possibilité de créer des clés d'accès tout au long de leur parcours utilisateur, par exemple juste après la connexion, la section des paramètres des clés d'accès de votre application doit leur permettre de créer des clés d'accès à partir du fournisseur d'identifiants de leur choix.
Pour réduire le risque de blocage de compte, autorisez les utilisateurs à enregistrer plusieurs clés d'accès avec différents fournisseurs d'identifiants. Si un fournisseur d'identifiants devient inaccessible (par exemple, si la plate-forme cesse d'être compatible ou si l'utilisateur perd l'accès), il peut utiliser une autre clé d'accès pour se connecter. Assurez-vous que votre base de données permet de stocker plusieurs identifiants par utilisateur. Toutefois, vous pouvez empêcher les utilisateurs de créer une clé d'accès pour le même compte avec le même fournisseur d'identifiants.
Supprimer des clés d'accès
La section des paramètres des clés d'accès de votre application doit permettre aux utilisateurs de supprimer des clés d'accès.
Intégration du fournisseur d'identifiants
Pour assurer la cohérence des clés d'accès entre le serveur d'application et le fournisseur d'identifiants, activez la gestion des clés d'accès à partir du chemin d'accès prédéfini /.well-known/passkey-endpoints sur votre serveur d'application. Les fournisseurs d'identifiants peuvent ainsi utiliser directement ces points de terminaison pour la gestion des clés d'accès. Pour en savoir plus, consultez Ajouter des points de terminaison de clé d'accès.
Ressources supplémentaires
- Guide sur l'expérience utilisateur en lien avec les clés d'accès
- Vidéo expliquant comment limiter la dépendance aux mots de passe dans les applications Android compatibles avec les clés d'accès
- Atelier de programmation expliquant comment simplifier les parcours d'authentification à l'aide de l'API Gestionnaire d'identifiants dans votre application Android
- Application exemple : CredentialManager