Les clés d'accès sont conçues pour révolutionner l'expérience de connexion, en offrant une alternative aux mots de passe plus simple, plus rapide et plus sécurisée. Cette checklist vous guidera sur les principaux aspects de l'implémentation des clés d'accès pour obtenir une expérience utilisateur optimale.
Comment utiliser cette checklist
Cette checklist est destinée aux développeurs et aux équipes produit qui implémentent des clés d'accès dans leurs flux d'authentification. Utilisez-la pour :
- Vérifiez que votre implémentation respecte les bonnes pratiques d'expérience utilisateur modernes des clés d'accès décrites dans les articles suivants.
- Identifiez les éléments obligatoires et facultatifs qui améliorent l'usabilité, la sécurité et la compatibilité.
- Vérifiez votre implémentation pendant le développement et avant le déploiement.
- Respectez les bonnes pratiques qui favorisent l'adoption par les utilisateurs et l'interopérabilité des systèmes.
Ils vous aident à offrir une expérience fluide et sécurisée aux utilisateurs finaux.
Enregistrement des clés d'accès
Pour passer facilement des mots de passe aux clés d'accès sur votre site Web, vous devez disposer d'une fonctionnalité d'enregistrement de clés d'accès sophistiquée. Suivez les instructions décrites dans Créer une clé d'accès pour les connexions sans mot de passe pour créer une fonctionnalité d'enregistrement de clés d'accès sur votre site Web. Voici les points à vérifier en plus des fonctionnalités d'enregistrement de clés d'accès de base:
✅ Spécifiez "platform"
comme valeur d'attachement de l'authentificateur à transmettre à navigator.credentials.create()
pour créer une clé d'accès promue.
- Proposez un flux de création de clés d'accès optimisé et fluide pour les utilisateurs qui créent une clé d'accès de manière réactive.
✅ Vérifiez l'utilisateur à l'aide de la méthode d'authentification la plus sécurisée disponible avant de lui permettre de créer une clé d'accès.
- Cette étape est importante pour empêcher un pirate informatique de créer une clé d'accès sur un compte piraté.
✅ Empêchez la création de clés d'accès en double pour le même fournisseur de clés d'accès à l'aide de excludeCredentials
.
- De nombreux fournisseurs de clés d'accès n'acceptent qu'une seule clé d'accès par compte et par ID de RP. Évitez de créer des doublons.
✅ Utilisez l'AAGUID pour identifier le fournisseur de clés d'accès et pour nommer les identifiants de l'utilisateur.
- Associer une clé d'accès à son fournisseur de clés d'accès est un moyen intuitif de présenter des identifiants lorsque cela est possible.
✅ Signalez si une tentative d'enregistrement d'une clé d'accès échoue avec PublicKeyCredential.signalUnknownCredential()
.
- Les clés d'accès égarées peuvent prêter à confusion. Informez le fournisseur de clés d'accès si le serveur n'a pas réussi à enregistrer une clé d'accès.
✅ Envoyez une notification à l'utilisateur après avoir créé et enregistré une clé d'accès pour son compte.
- Assurez-vous que l'utilisateur est informé de la création d'une clé d'accès, en particulier lorsqu'elle est effectuée par quelqu'un d'autre.
Authentification par clé d'accès
Il peut être difficile de prendre en charge à la fois les utilisateurs de mots de passe et les utilisateurs de clés d'accès sans friction. Suivez les instructions décrites dans Se connecter avec une clé d'accès via le remplissage automatique de formulaire pour créer une fonctionnalité de remplissage automatique de formulaire avec une clé d'accès sur votre site Web. Voici les éléments que vous devez vérifier en plus des fonctionnalités d'authentification par clé d'accès de base:
✅ Autorisez les utilisateurs à se connecter avec une clé d'accès via le remplissage automatique de formulaire.
- Si votre site Web passe des mots de passe aux clés d'accès, la meilleure approche pour répondre aux besoins des deux types d'utilisateurs consiste à utiliser la fonctionnalité de saisie automatique des formulaires du navigateur.
✅ Signalez lorsque les identifiants correspondants d'une clé d'accès ne sont pas trouvés dans le backend avec PublicKeyCredential.signalUnknownCredential()
.
- Les clés d'accès égarées peuvent prêter à confusion. Indiquez au fournisseur de clés d'accès la clé d'accès inutilisable afin qu'il puisse la supprimer.
✅ Invitez les utilisateurs à créer manuellement une clé d'accès s'ils n'en ont pas créé une après une connexion.
- Si l'utilisateur n'a pas encore créé de clé d'accès, encouragez-le à en créer une.
✅ Créez automatiquement une clé d'accès (création conditionnelle) une fois que l'utilisateur se connecte avec un mot de passe (et un deuxième facteur).
- Accélérez l'adoption des clés d'accès utilisateur.
✅ Invitez l'utilisateur à créer une clé d'accès locale s'il s'est connecté avec une clé d'accès multi-appareil.
- La création d'une clé d'accès locale permet à l'utilisateur de se connecter sans scanner de code QR à partir de la prochaine fois.
✅ Signaler la liste des clés d'accès disponibles et les informations utilisateur mises à jour (nom d'utilisateur, nom à afficher) au fournisseur après la connexion
- Synchroniser la liste des clés d'accès et les informations utilisateur entre le serveur et le fournisseur de clés d'accès améliore l'expérience utilisateur.
Gestion des clés d'accès
Une bonne compréhension des clés d'accès par les utilisateurs leur permet de mieux comprendre l'environnement et de mieux contrôler les clés d'accès. Suivez les instructions décrites dans la section Aider les utilisateurs à gérer efficacement les clés d'accès pour créer une fonctionnalité de gestion des clés d'accès sur votre site Web. Voici les points à vérifier:
✅ Autorisez les utilisateurs à gérer les clés d'accès sur une page de gestion des clés d'accès.
- Créez un emplacement central où les utilisateurs peuvent gérer leurs clés d'accès.
✅ Prise en charge de l'enregistrement de plusieurs clés d'accès.
- La possibilité d'enregistrer plusieurs clés d'accès permet aux utilisateurs de s'éviter d'être verrouillés sans avoir à revenir à une méthode d'authentification plus faible.
✅ Autorisez les utilisateurs à ajouter de nouveaux types de clés d'accès flexibles sur la page de gestion.
✅ Affichez le nom de la clé d'accès.
- Nommez les clés d'accès en fonction de l'AAGUID et fournissez une représentation visuelle tangible des clés d'accès de l'utilisateur.
✅ Indiquez si une clé d'accès est synchronisable ou non.
- Informez l'utilisateur lorsqu'une clé d'accès n'est pas synchronisée.
✅ Autorisez les utilisateurs à supprimer une clé publique du serveur.
✅ Signalez la liste des clés d'accès lorsqu'une clé publique associée est supprimée du serveur.
- La synchronisation de la liste des clés d'accès entre le serveur et le fournisseur de clés d'accès améliore l'expérience utilisateur.

Informations complémentaires
✅ Signalez les informations utilisateur mises à jour (nom d'utilisateur, nom à afficher) lorsque l'utilisateur les met à jour.