Get your free and exclusive 80-page Banking Passkey Report
webauthn public key credential hints

Indices de crédential de clé publique WebAuthn / Indices User-Agent

Découvrez les indices de crédential de clé publique WebAuthn / indices User-Agent, leur disponibilité, comment les utiliser, ainsi que leurs limites et les recommandations existantes.

Vincent Delitz

Vincent

Created: August 8, 2025

Updated: August 8, 2025


See the original blog version in English here.

Our mission is to make the Internet a safer place, and the new login standard passkeys provides a superior solution to achieve that. That's why we want to help you understand passkeys and its characteristics better.

1. Introduction#

WebAuthn et les passkeys connaissent un essor considérable et sont de plus en plus adoptés. D'un point de vue technique, la norme WebAuthn évolue également rapidement. Les indices de crédential de clé publique WebAuthn (également appelés indices User-Agent) sont le dernier ajout à l'API Web Authentication, visant à améliorer la manière dont les développeurs implémentent l'authentification par passkey dans leurs applications.

Dans cet article, nous répondrons aux questions suivantes :

  • Que sont les indices de crédential de clé publique WebAuthn ?
  • Pourquoi avons-nous besoin des indices de crédential de clé publique WebAuthn ?
  • Comment fonctionnent les indices de crédential de clé publique WebAuthn ?
  • Quelles sont les limites et les cas d'utilisation recommandés des indices de crédential de clé publique WebAuthn pour vos projets ?

Commençons par examiner la motivation.

2. Motivation pour les indices de crédential dans les passkeys#

Aujourd'hui, il existe différents endroits où l'on peut créer et stocker un passkey :

Pour l'utilisateur, cela peut offrir de la flexibilité et une liberté de choix. Cependant, certaines applications et certains scénarios exigent de restreindre certaines de ces options, par exemple si l'on souhaite autoriser uniquement les clés de sécurité matérielles en raison d'exigences de sécurité accrues.

Pour influencer cette création de passkey et son stockage, nous disposions de la propriété authenticatorAttachment.

Substack Icon

Subscribe to our Passkeys Substack for the latest news.

Subscribe

3. Qu'est-ce que authenticatorAttachment ?#

Le paramètre authenticatorAttachment permet aux parties de confiance de restreindre l'endroit où le passkey peut être créé.

3.1 platform#

platform indique un authentificateur intégré à l'appareil qui exécute WebAuthn. WebAuthn communique avec lui en utilisant des méthodes de transport spécifiques à cette plateforme, comme des API propres à la plateforme. Un crédential de clé publique lié à un authentificateur de plateforme est appelé un crédential de plateforme. Dans la liste ci-dessus, les gestionnaires de crédentials / emplacements suivants pourraient stocker des crédentials de plateforme :

Windows 11 et Chrome :

macOS 15 (Sequoia) et Chrome :

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

macOS 15 (Sequoia) et Safari :

3.2 cross-platform#

cross-platform indique un authentificateur externe à l'appareil qui exécute WebAuthn (authentificateur itinérant) car il peut être utilisé sur plusieurs appareils. WebAuthn interagit avec lui en utilisant des protocoles de transport multiplateformes comme Bluetooth ou NFC. Un crédential de clé publique associé à un authentificateur itinérant est appelé un crédential itinérant. Dans la liste ci-dessus, les gestionnaires de crédentials / emplacements suivants pourraient stocker des crédentials multiplateformes :

Windows 11 et Chrome :

macOS 15 (Sequoia) et Chrome :

macOS 15 (Sequoia) et Safari :

3.3 Non spécifié#

Non spécifié indique qu'un authentificateur de plateforme ou un authentificateur multiplateforme peut être utilisé. Ici, l'utilisateur peut choisir où il souhaite stocker les passkeys.

Windows 11 et Chrome :

macOS 15 (Sequoia) et Chrome :

macOS 15 (Sequoia) et Safari :

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

authenticatorAttachment a été utilisé pendant un certain temps. Cependant, il manquait de flexibilité face aux nouvelles évolutions comme l'authentification inter-appareils (via des codes QR et Bluetooth). Ici, un passkey est également stocké, par exemple, dans le Gestionnaire de mots de passe Google (crédential de plateforme) mais déclenché avec cross-platform par la partie de confiance. De plus, le contrôle d'une partie de confiance pour influencer le type de passkey à utiliser lors d'une cérémonie de connexion (et non d'inscription) ne pouvait se faire qu'en modifiant la valeur transports d'un crédential.

C'est là que les indices de crédential de clé publique WebAuthn entrent en jeu.

Slack Icon

Become part of our Passkeys Community for updates & support.

Join

4. Que sont les indices de crédential de clé publique WebAuthn ?#

Les indices de crédential de clé publique WebAuthn sont un nouveau paramètre introduit dans l'API Web Authentication (officiellement dans WebAuthn Level 3). Ils fournissent des indications aux navigateurs sur le type d'authentificateur qu'un utilisateur est susceptible d'utiliser pendant le processus d'authentification. Cela aide à offrir une expérience utilisateur plus fluide et intuitive en concentrant l'interface du navigateur sur les options les plus pertinentes.

Les trois types d'indices

Les indices se déclinent en trois types :

  1. security-key : Indique que l'utilisateur est censé utiliser une clé de sécurité matérielle (par ex. YubiKey).
  2. client-device : Suggère que l'utilisateur utilisera un authentificateur de plateforme attaché à l'appareil client (comme Touch ID sur macOS, Face ID sur iOS ou Windows Hello sur Windows).
  3. hybrid : Implique que l'utilisateur pourrait utiliser un smartphone ou une tablette pour l'authentification inter-appareils via un code QR et Bluetooth.

Ces indices ne sont pas des exigences strictes de la part de la partie de confiance, mais servent d'indications au navigateur pour améliorer l'expérience utilisateur.

4.1 security-key#

Ci-dessous, vous voyez des captures d'écran pour macOS Sequoia (Edge + Chrome) et Windows 10 (Chrome) avec authenticatorAttachment non spécifié et l'indice User-agent WebAuthn défini sur security-key.

4.1.1 macOS Sequoia & Edge#

4.1.2 macOS Sequoia & Chrome#

4.1.3 Windows 10 & Chrome#

Ici, nous constatons une autre limite : l'indice security-key n'est pas respecté sur Windows 10, du moins pas directement. Le flux est essentiellement le même que pour l'indice client-device.

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

4.2 client-device#

Ci-dessous, vous voyez des captures d'écran pour macOS Sequoia (Edge + Chrome) et Windows 10 (Chrome) avec authenticatorAttachment non spécifié et l'indice User-agent WebAuthn défini sur client-device.

4.2.1 macOS Sequoia & Edge#

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

4.2.2 macOS Sequoia & Chrome#

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

4.2.3 Windows 10 & Chrome#

En cliquant sur Annuler, la fenêtre modale suivante apparaît :

4.3 hybrid#

Ci-dessous, vous voyez des captures d'écran pour macOS Sequoia (Edge + Chrome) et Windows 10 (Chrome) avec authenticatorAttachment non spécifié et l'indice User-agent WebAuthn défini sur hybrid.

4.3.1 macOS Sequoia & Edge#

4.3.2 macOS Sequoia & Chrome#

4.3.3 Windows 10 & Chrome#

5. Comment fonctionnent les indices de crédential de clé publique WebAuthn ?#

Avec l'introduction des indices, les développeurs peuvent désormais fournir un tableau de préférences par ordre de priorité décroissante, offrant ainsi plus de flexibilité.

5.1 Exemple pour l'indice Security-Key#

L'extrait de code ci-dessous indique au navigateur que l'utilisateur est susceptible de s'authentifier à l'aide d'une clé de sécurité matérielle, adaptant ainsi l'interface utilisateur en conséquence.

Pour la compatibilité avec les anciens user-agents, lorsque cet indice est utilisé dans PublicKeyCredentialCreationOptions, authenticatorAttachment doit être défini sur cross-platform.

const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, hints: ['security-key'], authenticatorSelection: { authenticatorAttachment: 'cross-platform' } } });

L'indice security est particulièrement utile dans les cas de haute assurance où le site web / la partie de confiance ne veut autoriser que les clés de sécurité matérielles et pousse l'utilisateur dans cette direction.

5.2 Exemple pour l'indice Client-Device#

Dans cet exemple, l'indice suggère que l'utilisateur pourrait utiliser l'authentificateur de plateforme intégré de l'appareil actuel.

Pour la compatibilité avec les anciens user-agents, lorsque cet indice est utilisé dans PublicKeyCredentialCreationOptions, authenticatorAttachment doit être défini sur platform.

const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, residentKey: true, hints: ['client-device'], authenticatorSelection: { authenticatorAttachment: 'platform' } } });

Définir l'indice client-device est bénéfique s'il y a plusieurs passkeys associés à un compte utilisateur et que certains d'entre eux pourraient être disponibles sur l'appareil qui se connecte, tandis que d'autres sont stockés sur différents appareils. Si le système (passkey intelligence) détecte que l'utilisateur qui tente de se connecter a une forte probabilité de disposer d'un passkey local, alors cet indice peut être défini dans les PublicKeyCredentialRequestOptions, évitant à l'utilisateur un clic pour sélectionner le bon passkey.

5.3 Exemple pour l'indice Hybrid#

Dans cet exemple, l'indice suggère que l'utilisateur pourrait utiliser un smartphone ou un appareil similaire pour l'authentification.

Pour la compatibilité avec les anciens user-agents, lorsque cet indice est utilisé dans PublicKeyCredentialCreationOptions, authenticatorAttachment doit être défini sur cross-platform.

const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, residentKey: true, hints: ['hybrid'], authenticatorSelection: { authenticatorAttachment: 'cross-platform' } } });

L'indice hybrid peut être utile si l'utilisateur a plusieurs clés et que le système (passkey intelligence) détecte que sur l'appareil actuel, il n'y a probablement pas de passkey local disponible. Pour améliorer l'UX et économiser un clic, vous pouvez définir cet indice User-agent WebAuthn et inviter directement l'utilisateur à une authentification inter-appareils (via code QR et Bluetooth). De plus, si vous essayez de construire un système de passkey mobile-first, alors définir cet indice est très pertinent.

Pour expérimenter vous-même avec les différentes options, nous vous recommandons de jeter un œil au Passkeys Debugger.

Debugger Icon

Want to experiment with passkey flows? Try our Passkeys Debugger.

Try for Free

6. Priorités#

Il est crucial de comprendre comment les indices de crédential de clé publique WebAuthn interagissent avec d'autres paramètres WebAuthn comme authenticatorAttachment et credential transports.

6.1 Indications non contraignantes#

Premièrement, il est important de noter que ces indices ne sont pas des exigences strictes. Ils ne lient pas le user-agent (navigateur) mais servent d'indications pour fournir la meilleure expérience en tirant parti des informations contextuelles que vous avez sur la requête. Cela signifie que les navigateurs peuvent choisir de prendre en compte les indices mais ne sont pas obligés de les suivre strictement.

6.2 L'ordre a son importance#

Les indices sont fournis sous forme de tableau par ordre de préférence décroissante. Cet ordre détermine comment le navigateur doit les prioriser :

  • Le premier indice a la priorité : Si deux indices sont contradictoires, le navigateur donne la priorité au premier.
  • Indices qui se chevauchent : Si un indice plus spécifique risque de ne pas être reconnu par tous les navigateurs, vous pouvez inclure des indices moins spécifiques par la suite pour une compatibilité plus large.
  • Indices en double : Si le même indice apparaît plus d'une fois, toutes les apparitions suivantes sont ignorées.

Exemple :

hints: ['security-key', 'hybrid', 'client-device']

Dans ce tableau :

  1. Le navigateur priorise d'abord security-key.
  2. Si ce n'est pas applicable, il considère hybrid.
  3. Enfin, il examine client-device (les authentificateurs de plateforme sur l'appareil client).

6.3 Indices vs autres paramètres#

Les indices peuvent contredire les informations contenues dans authenticatorAttachment et credential transports. Lorsque cela se produit, les indices ont la priorité. Cela offre plus de flexibilité par rapport à l'utilisation stricte précédente de authenticatorAttachment, qui limitait l'authentificateur à platform ou cross-platform.

Exemple avec des paramètres contradictoires :

const credential = await navigator.credentials.create({ publicKey: { challenge: /* your challenge here */, hints: ['hybrid'], authenticatorSelection: { authenticatorAttachment: 'platform' // Contredit l'indice } } });

Dans ce cas :

  • Indice : Suggère une préférence pour les authentificateurs hybrides.
  • authenticatorAttachment : Spécifie platform, ce qui limite normalement les authentificateurs à l'appareil client.
  • Résultat : Le navigateur priorise l'indice par rapport à authenticatorAttachment, se concentrant sur les options hybrides.

7. Support des navigateurs#

Actuellement, les indices de crédential de clé publique WebAuthn ne sont disponibles que dans Chrome (depuis la version 128). À ce jour, Edge et Safari ont indiqué leur intention d'intégrer cette fonctionnalité, tandis que Firefox n'a pas encore confirmé son calendrier de publication.

NavigateurChromeEdgeSafariFirefox
Disponibilitédepuis la version 128depuis la version 128PrévuN/A

Il est important de se rappeler que dans Chrome, le paramètre authenticatorAttachment continue d'être respecté pour le moment. Cela signifie qu'aujourd'hui, authenticatorAttachment est le facteur décisif, quel que soit l'indice défini. Cependant, nous nous attendons à ce que dans les futures versions de Chrome, les indices de crédential de clé publique deviennent l'approche préférée et unique.

7.1 Cas particulier : Windows 11 et Chrome / Edge#

Même si la dernière version de Chrome prend en charge les indices User-agent WebAuthn, ces indices ne sont pas respectés par Windows 11 et Windows Hello / Sécurité Windows. La raison sous-jacente est que l'interface utilisateur est contrôlée par le système d'exploitation (Windows Hello / Sécurité Windows) lui-même.

De plus, pour un passkey stocké dans le Gestionnaire de mots de passe Google et synchronisé avec Windows 11, les indices User-agent WebAuthn ne sont pas respectés, car l'authentification locale finale sur Windows 11 se fait avec Windows Hello / Sécurité Windows. Avec la synchronisation à venir des passkeys sur Windows 11 via les comptes Microsoft, nous nous attendons également à des améliorations pour Windows 11 et les indices User-agent WebAuthn.

7.2 Cas particulier : Windows 10 et Chrome / Edge#

Sur Windows 10, les indices User-agent WebAuthn sont cependant respectés, car l'interface utilisateur WebAuthn est gérée par Chrome et non par Windows Hello / Sécurité Windows. Cependant, lors de nos tests, nous n'avons pas vu d'effet pour security-key. Lorsque cet indice était défini, le flux ressemblait à celui de client-device.

8. Recommandations pour les indices de crédential de clé publique#

Les indices de crédential de clé publique WebAuthn (indices user-agent) apportent de nombreux avantages tant aux développeurs qu'aux utilisateurs. La fonctionnalité est encore nouvelle et n'est pas encore déployée sur tous les navigateurs et systèmes d'exploitation (en octobre 2024).

Il est important d'être conscient des limites actuelles, notamment celles liées à Windows 11. Sous Windows 11, l'interface utilisateur des passkeys est gérée par Windows Hello (fenêtre modale de sécurité de Windows Hello) et cela prévaut actuellement sur le support de Chrome / Edge pour les indices User-agent WebAuthn. Cela s'applique également aux passkeys synchronisés depuis le Gestionnaire de mots de passe Google vers Windows (ici, les indices n'ont pas encore d'effet non plus).

Cela signifie que les indices de crédential de clé publique WebAuthn ne fonctionnent réellement que sur macOS et Windows 10 (parmi les principaux systèmes d'exploitation de bureau).

De plus, en octobre 2024, même si Chrome / Edge est utilisé sur ces systèmes d'exploitation, si authenticatorAttachment est défini, il prévaut également sur les indices User-agent WebAuthn (comme indiqué par Google).

Du point de vue des cas d'utilisation, nous voyons les cas d'utilisation recommandés suivants pour tirer le meilleur parti de cette nouvelle fonctionnalité.

8.1 Utiliser les indices dans les processus de connexion pour réduire les clics#

Lors de la construction de votre backend et de votre passkey intelligence, essayez d'inclure l'utilisation correcte des indices de crédential de clé publique pour faciliter la connexion et éviter à l'utilisateur des clics inutiles. Par exemple, si votre système détecte qu'un utilisateur se connecte sur un appareil où un passkey local est probablement disponible, utilisez l'indice client-device.

Si l'utilisateur accède au site web depuis un nouvel appareil et que votre passkey intelligence sait qu'un passkey pourrait être disponible sur un appareil mobile de l'utilisateur, définissez l'indice sur hybrid, afin que l'utilisateur puisse rapidement scanner le code QR et utiliser le passkey hybride.

L'objectif principal ici est de fournir une expérience utilisateur plus fluide et intuitive. En guidant les navigateurs sur les authentificateurs susceptibles d'être utilisés, les développeurs peuvent réduire la confusion et la friction pour l'utilisateur pendant le processus de connexion. Au lieu que les utilisateurs soient submergés d'options d'authentification inutiles, les indices permettent aux navigateurs de se concentrer sur les choix les plus pertinents, ce qui conduit à une expérience plus rapide et plus simple.

8.2 Utiliser l'indice Security-Key pour les entreprises ou les gouvernements à haute assurance#

Les entreprises à haute assurance ou les organisations gouvernementales qui ont standardisé l'utilisation de clés de sécurité matérielles pour l'authentification des utilisateurs trouveront les indices de crédential de passkey particulièrement utiles. En utilisant l'indice security-key, elles peuvent s'assurer que les navigateurs affichent de manière proéminente l'option de clé de sécurité matérielle.

Ceci est particulièrement utile pour les grandes organisations où les employés ont reçu des clés de sécurité matérielles et où d'autres méthodes d'authentification (telles que les authentificateurs de plateforme) ne sont pas autorisées. L'indice security-key permet aux entreprises de verrouiller leurs flux d'authentification sans limiter leur flexibilité pour de futures améliorations.

8.3 Utiliser l'indice Hybrid pour les applications mobile-first#

L'indice hybrid brille dans les scénarios où l'authentification inter-appareils et donc une approche mobile-first est souhaitée ou lorsque les utilisateurs se déplacent fréquemment entre les appareils ou les plateformes.

Un exemple de ce cas d'utilisation serait une application grand public qui anticipe que la plupart de ses utilisateurs utiliseront leur smartphone pour l'authentification, que ce soit par des méthodes biométriques ou des applications d'authentification basées sur le web (passkeys mobile-first). En spécifiant hybrid comme indice, les développeurs s'assurent que l'interface utilisateur du navigateur encourage l'utilisation du smartphone, améliorant ainsi la commodité et l'accessibilité.

9. Conclusion#

Les indices de crédential de clé publique WebAuthn offrent un moyen flexible d'améliorer l'expérience utilisateur lors de l'authentification par passkey. Revenons sur les questions de l'introduction avec les connaissances que nous avons acquises :

  1. Que sont les indices de crédential de clé publique WebAuthn ?

    Ce sont des suggestions facultatives fournies par le site web / l'application pour guider les clients sur la méthode d'authentification la plus probable qu'un utilisateur utilisera – que ce soit une clé de sécurité matérielle, un authentificateur de plateforme ou une solution hybride comme l'authentification inter-appareils.

  2. Pourquoi avons-nous besoin des indices de crédential de clé publique WebAuthn ?

    Ils rationalisent le processus d'authentification en réduisant les options présentées aux utilisateurs, diminuant ainsi la friction / les clics inutiles et améliorant l'expérience globale.

  3. Comment fonctionnent les indices de crédential de clé publique WebAuthn ?

    Les développeurs spécifient des indices tels que security-key, client-device ou hybrid en fonction du contexte, permettant aux navigateurs de prioriser la méthode d'authentification pertinente pour l'utilisateur. Bien que ces indices ne soient pas des exigences strictes, ils aident à optimiser le flux de l'interface utilisateur pendant l'authentification.

  4. Quelles sont les limites et les cas d'utilisation recommandés ?

    Actuellement, le support complet de ces indices est limité à Chrome et Edge, avec d'autres navigateurs et systèmes d'exploitation comme Windows 11 montrant des niveaux de compatibilité variables. Les cas d'utilisation les plus efficaces incluent l'amélioration de l'UX de connexion, l'application de l'utilisation de clés de sécurité matérielles dans des environnements à haute sécurité, et la facilitation de l'authentification inter-appareils dans les applications mobile-first.

En conclusion, les indices de crédential de clé publique WebAuthn permettent aux développeurs de créer des processus d'authentification plus intuitifs et conviviaux en guidant les navigateurs vers les options les plus appropriées pour chaque scénario utilisateur. Bien qu'encore en évolution, cette fonctionnalité peut améliorer de manière significative à la fois la sécurité et l'expérience utilisateur dans les implémentations de passkeys.

Add passkeys to your app in <1 hour with our UI components, SDKs & guides.

Start Free Trial

Share this article


LinkedInTwitterFacebook

Enjoyed this read?

🤝 Join our Passkeys Community

Share passkeys implementation tips and get support to free the world from passwords.

🚀 Subscribe to Substack

Get the latest news, strategies, and insights about passkeys sent straight to your inbox.

Related Articles