View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Vidéos

Ouvrir le menu Fermer le menu
  • Collections
  • Sujets
  • Toutes les vidéos
  • À propos

Plus de vidéos

  • À propos
  • Résumé
  • Transcription
  • Code
  • Quoi de neuf dans les clés d’identification

    Découvrez comment iOS, iPadOS, macOS et visionOS 26 améliorent les clés d'identification. Nous explorerons les principales mises à jour, notamment : la nouvelle API de création de compte pour simplifier les inscriptions et maintenir à jour les clés d'identification, de nouvelles façons de faire évoluer les clés d'identification grâce à la mise à niveau automatique des clés d'identification et des points de terminaison de gestion des clés d'identification, et l'importation/exportation sécurisée des clés d'identification. Découvrez comment ces améliorations améliorent l'expérience utilisateur et la sécurité, et comment les intégrer à vos apps pour offrir une expérience d'authentification plus fluide et plus sécurisée. Pour tirer le meilleur parti de cette vidéo, regardez d'abord « Découvrir les clés d'identification » de la WWDC22.

    Chapitres

    • 0:00 - Introduction
    • 0:58 - Le parcours des clés d’identification
    • 3:30 - API de création de compte
    • 10:48 - Garder les clés d’identification à jour
    • 14:41 - Mise à niveau automatique des clés d’identification
    • 16:59 - Points de terminaison de gestion des clés d’identification
    • 19:12 - Importation et exportation de clés d’identification

    Ressources

    • ASCredentialExportManager
    • ASCredentialProviderViewController
    • Performing fast account creation with passkeys
      • Vidéo HD
      • Vidéo SD

    Vidéos connexes

    WWDC24

    • Streamline sign-in with passkey upgrades and credential managers

    WWDC22

    • Meet passkeys
  • Rechercher dans cette vidéo…

    Bonjour, je m’appelle Andrew et je suis ingénieur au sein de l’équipe Authentication Experience. L’un de nos principaux objectifs est de simplifier, d’accélérer et de sécuriser la connexion.

    Les mots de passe sont à l’origine de nombreux problèmes de connexion et de sécurité des comptes. Le marché s’est efforcé de résoudre ces problèmes à la source en éliminant l’utilisation de mots de passe pour les comptes en ligne au profit de clés d’identification. Les clés d’identification résolvent les problèmes de sécurité et d’utilisation des mots de passe, notamment en éliminant le hameçonnage et en offrant une expérience de connexion agréable.

    Comme vous regardez cette vidéo, vous faites partie de ceux qui rendent cela possible. Nous aspirons à atteindre cet objectif primordial, à savoir remplacer les mots de passe par des clés d’identification.

    Les clés d’identification sont la voie à suivre pour assurer une authentification sécurisée non sensible au hameçonnage dans tout le secteur. Il s’agit d’un processus en plusieurs étapes. Avant les clés d’identification, la création de nombreux comptes reposait sur des facteurs sensibles au hameçonnage, comme l’envoi de mots de passe ou de codes à usage unique par SMS ou par e-mail.

    Le processus a commencé par l’ajout d’une méthode non hameçonnable, comme les clés d’identification, comme méthode de connexion supplémentaire. C’est là qu’en est une grande partie du marché aujourd’hui. L’objectif est que plus aucun compte ne soit soumis à des facteurs sensibles au hameçonnage, et nous y parviendrons avec les clés d’identification. La dynamique actuelle est fantastique, avec une adoption croissante de la part des utilisateurs et un soutien croissant dans tous les services. Selon une étude de 2025 menée par la FIDO Alliance, organisme de normalisation à l’origine des clés d’identification, 69 % des personnes interrogées ont au moins une clé d’identification.

    Google a publié que les personnes se connectant avec des clés d’identification réussissent quatre fois mieux à accéder à leurs comptes que celles utilisant des mots de passe. TikTok observe un taux de connexion réussie étonnant de 97 % avec les clés d’identification. Ce type de succès avec les clés d’identification est courant sur le marché, contrairement aux mots de passe.

    Cette adoption croissante démontre des progrès évidents dan l’évolution des clés d’identification. iOS, iPadOS, macOS et visionOS 26 utilisent les clés d’identification avec de nouvelles améliorations permettant aux utilisateurs de les découvrir, de les créer et de les utiliser encore plus facilement dans vos apps et sur vos sites web. Je vais couvrir cinq mises à jour clés. Je commencerai par l’API de création de compte. C’est le moyen le plus rapide et le plus simple de créer un compte, avec une clé d’identification qui vous est fournie dès le départ.

    Puis, je couvrirai la mise à jour des clés d’identification, en montrant comment synchroniser les modifications de compte avec les gestionnaires d’identifiants.

    Je poursuivrai avec la mise à niveau automatique, en expliquant comment ajouter les clés d’identification aux comptes basés sur des mots de passe. J’aborderai les points de terminaison de gestion des clés d’identification pour illustrer l’adoption des clés d’identification de votre service dans les gestionnaires d’identifiants.

    Enfin, nous verrons comment importer et exporter les clés d’identification, une avancée clé de l’écosystème offrant aux utilisateurs plus de liberté et de contrôle sur leurs clés.

    Commençons par l’API de création de compte. Contrairement aux créations de compte classiques avec mot de passe, la configuration d’une clé d’identification est rapide est facile. Elle se fait sans effort. Avec les clés d’identification, l’utilisateur n’a pas à créer de mot de passe complexe ni à s’en rappeler.

    Les clés d’identification permettent une connexion rapide et sans effort, et résistent au hameçonnage. Avec l’API de création de compte et les dernières versions de système d’exploitation, la création d’un compte peut être une expérience agréable, rapide et plus sûre.

    Voyons cela sur mon iPhone dans mon app de démonstration, Shiny. Elle promet une jolie photo par jour.

    Comme pour toute nouvelle app, vous devez d’abord créer un compte. Voici la méthode traditionnelle avant l’adoption de l’API de création de compte. Je commence par créer un compte avec mon adresse e-mail.

    Je dois immédiatement remplir un formulaire, en commençant par l’adresse e-mail. Le remplissage automatique me facilite la tâche. Voilà pour l’adresse e-mail. Passons à mon prénom et mon nom de famille.

    Et le redouté mot de passe ! Je vais opter pour le meilleur scénario avec un mot de passe fort automatique.

    Enfin, je touche Continuer, et mon compte est créé. Voilà la jolie photo. Comme c’est adorable. Procédons maintenant avec l’API de création de compte. Comme avant, je vais créer un compte avec mon adresse e-mail.

    Mais au lieu du formulaire en plusieurs étapes, le système présente une feuille avec toutes les informations demandées par Shiny. Cela inclut mon nom, mon adresse e-mail et une clé d’identification qui sera enregistrée dans l’app Mots de passe. Et le meilleur, c’est que tout est prérempli. Il s’agit du nouveau flux simplifié alimenté par l’API de création de compte. Les informations que je partage sont modifiables. Lorsque je touche un champ, un sélecteur propose des suggestions. Je peux passer de l’une à l’autre ou saisir manuellement quelque chose. Les valeurs par défaut me conviennent. Je touche Continuer, Face ID m’authentifie, et voilà. J’ai créé un compte et je suis dans Shiny. C’est beaucoup plus rapide, plus simple et plus sécurisé.

    La connexion est tout aussi simple.

    Si j’essaie de lancer Shiny pour la première fois sur mon iPad, je reçois une invite de connexion, car l’app est configurée pour vérifier les identifiants dès le lancement. La clé d’identification que j’ai créée précédemment est disponible sur tous mes appareils. Il suffit de toucher Continuer et de s’authentifier avec Face ID. Un jeu d’enfant ! Cette expérience est disponible sur les apps iOS, iPadOS, macOS et visionOS, et fonctionne avec l’app Mots de passe et des gestionnaires d’identifiants tiers.

    Passons maintenant en revue l’implémentation qui alimente la création de compte.

    Voici une fonction montrant les principales étapes de la création de compte. Commencez par initialiser le fournisseur de création de compte. Puis, avec ce fournisseur, créez une demande d’enregistrement de clé d’identification. C’est là que les détails des clés sont spécifiés. Les identifiants de contact acceptés sont le premier paramètre. Cela indique au système le type d’identifiants de compte pris en charge par votre app. Votre app ne recevra que l’identifiant choisi pour créer le compte, qui est aussi utilisé comme libellé du nom d’utilisateur d’une clé d’identification. La demande doit-elle déterminer s’il faut demander le nom de l’utilisateur ? Ne définissez cette valeur sur true que si cela est nécessaire pour créer un compte. Les trois paramètres suivants concernent la clé d’identification qui sera créée. Ils correspondent à l’enregistrement standard des clés d’identification. Fournissez donc les mêmes données que pour cette demande.

    La partie de confiance auprès de laquelle enregistrer la clé d’identification, généralement un nom de domaine, un défi unique permettant à la clé d’identification de vous connecter, récupéré à partir du serveur, et l’ID utilisateur, un identifiant unique stable que vous créez pour le compte. Récupérez ensuite une instance dans ASAuthorizationController. Dans une vue SwiftUI, vous pouvez y accéder à l’aide du wrapper de propriétés Environment. Exécutez la demande. Lorsqu’un utilisateur crée un compte avec succès, vous recevrez un ASAuthorizationResult. Désencapsulez-le pour avoir accès à un identifiant de contact, au nom si nécessaire, ainsi qu’à un objet de clé d’identification. Créez un compte sur le serveur afin de permettre la connexion.

    Et c’est vraiment le cœur de l’adoption. Si quelque chose ne va pas, la méthode perform génère une erreur que vous pouvez traiter pour améliorer l’expérience globale. Outre les erreurs AuthenticationServices standard, il existe trois erreurs particulièrement pertinentes pour cette API. La première est deviceNotConfiguredForPasskeyCreation, qui indique que l’appareil n’est pas en état de créer une clé d’identification, par exemple si aucun code d’accès n’est défini. Vous pouvez présenter le formulaire de création de compte standard sachant que l’appareil ne permet pas encore la création de clés d’identification. Lorsque vous touchez le bouton Utiliser l’adresse e-mail ou le numéro de téléphone dans Shiny, cette erreur affiche un formulaire personnalisé de création de compte. La deuxième erreur « canceled ». Elle est générée si quelqu’un ferme la feuille de création de compte sans la remplir. Dans ce cas, vous pouvez présenter le formulaire de création de compte standard. Lorsque la feuille système est fermée dans Shiny, cette erreur est traitée en présentant un formulaire personnalisé de création de compte. La dernière erreur est preferSignInWithApple. Cette erreur n’est possible que si votre app fonctionne avec Se connecter avec Apple. Elle évite la création accidentelle de comptes en double. Si un utilisateur lance le processus de création de compte alors qu’il a déjà un compte pour votre service avec Se connecter avec Apple, le système lui envoie une alerte comme celle-ci. Deux choix s’offrent à lui : utiliser le compte existant Se connecter avec Apple ou poursuivre la création du compte. S’il choisit d’utiliser son compte existant, l’erreur est générée. Lorsque vous recevez cette erreur, il est conseillé de lancer une demande Se connecter avec Apple, qui présentera la fiche Se connecter avec Apple. Cela respecte son choix et le connecte à son compte sans avoir à passer pas plus d’étapes. C’est tout pour les erreurs. Il est aussi conseillé de proposer tous les comptes existants dès le lancement de l’app afin d’aider les utilisateurs à se reconnecter à votre app. Rappelez-vous de la démo avec l’iPad. J’ai pu me connecter immédiatement avec ma clé d’identification, sans avoir à me demander si j’avais déjà un compte ou comment je m’étais connecté la dernière fois. Cela s’est produit, car Shiny a utilisé une demande de connexion alliée à l’option Préférer les identifiants immédiatement disponibles. Si un utilisateur dispose d’identifiants de compte sur son appareil, par exemple une clé d’identification ou un mot de passe issu d’une app de gestion d’identifiants ou d’un compte utilisant Se connecter avec Apple, ils seront proposés à la connexion. Si aucun identifiant n’est immédiatement disponible, aucune interface utilisateur ne s’affiche ce qui vous laisse avec l’écran de connexion standard. Pour en savoir plus, regardez la vidéo « Meet passkeys » de la WWDC22.

    Voilà pour la nouvelle API de création de compte, qui facilite et sécurise l’ensemble du processus.

    Lorsqu’un compte est créé, s’assurer que les informations de ses clés d’identification restent exactes dans les gestionnaires d’identifiants permet de garantir une expérience fluide. Cela m’amène au sujet suivant, la mise à jour des clés d’identification. Les comptes ne sont pas statiques. Les utilisateurs modifient des informations, comme le nom d’utilisateur ou l’adresse e-mail, et peuvent révoquer leurs clés d’identification. Si les gestionnaires d’identifiants affichent des informations obsolètes lors de la connexion, cela peut prêter à confusion et ralentir ou empêcher la connexion à votre service. Une nouvelle collection d’API permet à votre app ou à votre site web d’informer les gestionnaires d’identifiants des modifications apportées à un compte. L’adoption de ces API assure l’exactitude des entrées et garantit que les connexions sont rapides, fiables et fonctionnelles.

    Voyons leur fonctionnement dans Shiny. Imaginons que je sois récemment diplômé et que je veuille remplacer mon ancienne adresse e-mail d’étudiant dans mon compte par mon adresse personnelle.

    Je saisis ma nouvelle adresse e-mail dans les réglages de l’app.

    Puis, je l’enregistre.

    Juste après, mon gestionnaire d’identifiants, l’app Mots de passe, m’informe que le nom d’utilisateur a changé.

    Si je touche dessus, Mots de passe m’authentifie et présente les détails du compte.

    Le nom d’utilisateur reflète la nouvelle adresse e-mail personnelle. Le gestionnaire d’identifiants s’est adapté à ce qui se trouve sur le backend de l’app. Parfait ! Cette opération est possible grâce à une nouvelle API disponible pour les apps et le Web. Pour les apps, la nouvelle classe ASCredentialUpdater fournit des méthodes permettant de signaler les modifications d’identifiants. Pour le Web, des méthodes équivalentes font partie de la norme WebAuthn prise en charge dans Safari 19 et d’autres navigateurs.

    Le premier signal concerne le changement de nom d’utilisateur. Comme dans la démo, si quelqu’un met à jour le nom d’utilisateur, l’adresse e-mail ou un autre libellé du compte, utilisez la méthode reportPublicKeyCredentialUpdate pour informer le gestionnaire d’identifiants. Cela garantit que le libellé affiché lors de la connexion est toujours à jour, évitant toute confusion. Pour rappel, les noms d’utilisateur des clés d’identification sont des libellés locaux. Ils ne sont pas renvoyés au serveur lors de l’authentification.

    Pour le Web, utilisez la méthode signalCurrentUserDetails sur PublicKeyCredential pour effectuer la même chose.

    Voyons comment révoquer une clé d’identification. Beaucoup d’apps et de sites web ont des pages de gestion des clés d’identification permettant aux utilisateurs de révoquer une clé individuelle ou d’en créer une. Chaque fois qu’une clé d’identification est révoquée, appelez la méthode reportAllAcceptedPublicKeyCredentials en spécifiant les identifiants qui restent valides. Les gestionnaires d’identifiants suppriment alors toutes les clés d’identification qui ne figurent pas dans l’ensemble que vous avez fourni. Cela empêche d’offrir une clé d’identification non valide lorsqu’un utilisateur se connecte. Vous pouvez aussi appeler cette fonction régulièrement pour vérifier l’état d’un compte. En cas de modification, cela garantit que les gestionnaires d’identifiants sont informés.

    Vous pouvez en faire de même sur le Web avec la méthode signalAllAcceptedCredentials.

    En fin de compte, les comptes les plus sûrs sont ceux qui n’ont pas de mot de passe. Les comptes créés avec l’API de création de compte n’ont jamais de mot de passe. Ils sont sécurisés dès le premier jour.

    Pour les comptes existants, vous pouvez informer les gestionnaires d’identifiants lorsqu’un mot de passe n’est plus nécessaire. L’API reportUnusedPasswordCredential signale qu’un compte a franchi la dernière étape du parcours de la clé d’identification et qu’il est exempt de mot de passe.

    Notez que tous les gestionnaires d’identifiants peuvent participer à la gestion de ces signaux. Une nouvelle API permet d’écouter ces signaux de mise à jour et de maintenir à jour les identifiants gérés. Pour plus d’informations, consultez la documentation de développement sur les méthodes de signalement sur ASCredentialProviderViewController. Cette nouvelle API contribue donc à maintenir l’exactitude des identifiants. Voyons maintenant comment encourager l’adoption des clés d’identification, notamment pour ceux qui se connectent encore avec des mots de passe. La mise à niveau automatique des clés d’identification permet d’ajouter facilement des clés aux comptes basés sur des mots de passe. Votre app ou votre site web peut en créer une directement après la connexion par mot de passe. Voyons comment. Dans Shiny, imaginons que j’utilise toujours le mot de passe et que je veuille me connecter. Je remplis automatiquement le nom d’utilisateur et le mot de passe, puis je suis connecté. Mais comme Shiny a adopté les mises à niveau automatiques des clés d’identification, voilà ce qui se passe. Une notification m’informe qu’une clé d’identification a été créée. Pas d’écrans de vente incitative ni d’interruptions, juste une transition transparente donnant accès à une expérience de connexion plus simple et plus sécurisée. Notez que le mot de passe que je viens d’utiliser fonctionne toujours. Ce processus ajoute juste la clé d’identification pour sécuriser la connexion. La mise à niveau automatique de la clé d’identification est intégrée dans le code. Lorsqu’un utilisateur se connecte avec un mot de passe, vous avez accès aux informations de son compte. Commencez par vérifier que le compte n’a pas déjà de clé d’identification. Si ce n’est pas le cas, créez une demande d’enregistrement comme vous le feriez lors de la création d’une clé d’identification. Définir le style de demande sur conditionnel permet la mise à niveau automatique de la clé d’identification. Une fois que vous avez défini les paramètres et effectué la demande, le système et le gestionnaire d’identifiants exécutent des vérifications en arrière-plan. L’objectif est de déterminer si un gestionnaire d’identifiants est disponible, si le mot de passe du compte vient d’être utilisé et si l’appareil est configuré pour les clés d’identification. Si toutes les conditions préalables sont remplies, le système crée une clé d’identification et affiche une notification, et l’app reçoit l’objet de clé d’identification à enregistrer, sans interrompre ni bloquer l’utilisateur. Si une condition n’est pas remplie, l’appel échoue en arrière-plan. Le système n’affiche pas d’interface utilisateur et aucune erreur n’est à traiter. Si l’utilisateur n’a pas de clé d’identification, l’app devrait tenter la mise à niveau à chaque connexion par mot de passe.

    Il existe une API web équivalente. Pour en savoir plus, regardez la vidéo de la WWDC24 sur la rationalisation de la connexion avec les mises à niveau des clés d’identification et les gestionnaires d’identifiants. Les mises à niveau automatiques sont la solution idéale sans friction.

    En complément, l’adoption de l’URL connue des points de terminaison de gestion des clés d’identification permet d’afficher des liens directs des gestionnaires d’identifiants sur vos pages de gestion des clés d’identification. C’est un excellent moyen de mettre en évidence l’adoption de la clé d’identification. Voyons comment. Je suis dans l’app Mots de passe et j’examine une entrée enregistrée pour Shiny qui utilise toujours un mot de passe. Cette nouvelle section m’informe qu’une mise à niveau de clé d’identification est disponible. Toucher le bouton Ajouter une clé d’identification ouvre le site web sur la page spécifiée pour l’inscription de la clé d’identification.

    La mise en œuvre de cette norme crée un lien direct entre les gestionnaires d’identifiants et les pages d’inscription des clés d’identification. Les utilisateurs peuvent ainsi effectuer une mise à niveau directe à partir de leur gestionnaire d’identifiants. Comme cela repose sur une norme, cela fonctionne pour tous les gestionnaires d’identifiants impliqués.

    Pour permettre cela, interrogez la réponse JSON sur le chemin connu des points de terminaison des clés d’identification sur le serveur. La réponse doit provenir directement de ce chemin, et non d’une redirection.

    Envoyez cette réponse avec un code d’état 200 OK et un en-tête de type de contenu application JSON.

    Le contenu de la réponse est un dictionnaire JSON pointant vers les pages pertinentes de votre site web.

    enroll est l’URL permettant à l’utilisateur d’ajouter une clé d’identification à son compte. C’est ce à quoi renvoie le bouton Ajouter une clé d’identification dans l’app Mots de passe. manage est l’URL où l’utilisateur gère ses clés d’identification existantes, comme une page de modification de mot de passe. C’est là qu’il peut révoquer des clés d’identification existantes ou en créer une.

    Ces champs sont facultatifs, mais il est préférable d’inclure les deux. Ces URL doivent gérer correctement les utilisateurs qui arrivent sans session authentifiée. Si une connexion est nécessaire, commencez par l’authentification, puis par la redirection vers l’URL demandée à l’origine.

    Assurez-vous aussi que cette page est accessible et présentée à tous les agents utilisateurs. Les navigateurs web ne sont pas les seuls à le demander. Des apps comme les gestionnaires d’identifiants le font aussi.

    En implémentant l’URL connue des points de terminaison de gestion des clés d’identification, vous indiquez aux gestionnaires d’identifiants de guider les utilisateurs vers l’adoption des clés d’identification pour votre service.

    Voyons maintenant comment importer et exporter des clés d’identification.

    Les identifiants appartiennent à leurs utilisateurs, qui doivent pouvoir les gérer où ils le souhaitent. Pour ce faire, les clés d’identification peuvent être transférées en toute sécurité entre les apps de gestionnaires d’identifiants participantes sous iOS, iPadOS, macOS et visionOS 26. Cela donne aux utilisateurs plus de contrôle sur leurs données et le choix du gestionnaire d’identifiants souhaité.

    Ce nouveau processus est très différent et plus sécurisé que les méthodes traditionnelles d’exportation d’identifiants, qui impliquent souvent d’exporter un fichier CSV ou JSON non chiffré et de l’importer manuellement dans une autre app. Le transfert est initié par l’utilisateur, s’effectue directement entre les apps des gestionnaires d’identifiants participants et est sécurisé par une authentification locale telle que Face ID. Il utilise un schéma de données créé en collaboration avec les membres de la FIDO Alliance. Celle-ci uniformise le format des données pour les clés d’identification, les mots de passe, les codes de vérification et d’autres types de données. Le système fournit un mécanisme sécurisé pour déplacer les données entre les apps. Aucun fichier non sécurisé n’est créé sur le disque. Les identifiants ne sont donc pas exposés par les fichiers exportés. C’est un moyen moderne et sécurisé de transférer les identifiants.

    Les apps et les sites web n’ont rien à faire pour permettre le transfert des identifiants, car le processus se déroule directement entre les gestionnaires d’identifiants. Les clés d’identification existantes ne changent pas et continuent à fonctionner parfaitement. Pour déterminer les apps de gestionnaires d’identifiants permettant le transfert d’identifiants, consultez la documentation de développement pour ASCredentialExportManager et ASCredentialImportManager.

    Les clés d’identification ne cessent d’évoluer, avec une sécurité renforcée et des expériences simplifiées. Les nouvelles versions de système d’exploitation facilitent encore leur création, leur utilisation et leur découverte. Nous nous rapprochons d’un avenir sans mot de passe, et l’adoption de ces fonctionnalités est essentielle pour en faire une réalité pour tout le monde. Pour continuer à offrir une expérience d’authentification optimale, voici les prochaines étapes. Adoptez l’API de création de compte pour une intégration sécurisée et rapide. Maintenez les clés d’identification à jour à l’aide de l’API Signal pour informer les gestionnaires d’identifiants de modifications de compte comme la mise à jour de noms d’utilisateur ou la suppression de clés d’identification. Activez les mises à niveau automatiques des clés d’identification pour une transition plus fluide à partir des mots de passe. Faites en sorte que les gestionnaires d’identifiants puissent détecter les mises à niveau des clés d’identification en diffusant les points de terminaison de gestion des clés d’identification depuis votre site web. Voilà pour les nouveautés des clés d’identification. Merci de votre attention !

    • 6:33 - Account creation

      // Account creation
      
      @Environment(\.authorizationController) var authorizationController
      
      func performPasskeySignUp() async throws {
          let provider = ASAuthorizationAccountCreationProvider()
          let request = provider.createPlatformPublicKeyCredentialRegistrationRequest(
              acceptedContactIdentifiers: [.email, .phoneNumber],
              shouldRequestName: true,
              relyingPartyIdentifier: "example.com",
              challenge: try await fetchChallenge(),
              userID: try await fetchUserID()
          )
      
          do {
              let result = try await authorizationController.performRequest(request)
              if case .passkeyAccountCreation(let account) = result {
                  // Register new account on backend
              }
          } catch
              ASAuthorizationError
              .deviceNotConfiguredForPasskeyCreation {
              showPasswordSignUpForm = true
          } catch ASAuthorizationError.canceled {
              showPasswordSignUpForm = true
          } catch
              ASAuthorizationError.preferSignInWithApple {
              await performSignInWithApple()
          } catch { ... }
      }
    • 12:30 - Changing the user name

      // Changing the user name
      
      try await ASCredentialUpdater()
          .reportPublicKeyCredentialUpdate(
              relyingPartyIdentifier: "example.com",
              userHandle: userHandle,
              newName: "andrew@example.com"
          )
    • 12:58 - Changing the user name

      // Changing the user name
      
      await PublicKeyCredential.signalCurrentUserDetails({
          rpId: "example.com",
          userId: userHandle,
          name: "andrew@example.com",
          displayName: "andrew@example.com"
      });
    • 13:07 - Revoking a passkey

      // Revoking a passkey
      
      try await ASCredentialUpdater()
          .reportAllAcceptedPublicKeyCredentials(
              relyingPartyIdentifier: "example.com",
              userHandle: userHandle,
              acceptedCredentialIDs: acceptedCredentialIDs
          )
    • 13:46 - Revoking a passkey

      // Revoking a passkey
      
      await PublicKeyCredential.signalAllAcceptedCredentials({
          rpId: "example.com",
          userId: userHandle,
          allAcceptedCredentalIds: acceptedCredentialIds
      });
    • 14:04 - Removing a password

      // Removing a password
      
      try await ASCredentialUpdater()
          .reportUnusedPasswordCredential(
              domain: "example.com",
              username: "andrew@example.com"
          )
    • 15:36 - Automatic passkey upgrade

      // Automatic passkey upgrade
      
      func signIn() async throws {
          let accountDetails = try await signInWithPassword()
          guard !accountDetails.hasPasskey else { return }
      
          let provider = ASAuthorizationPlatformPublicKeyCredentialProvider(
              relyingPartyIdentifier: "example.com")
      
          let request = provider.createCredentialRegistrationRequest(
              challenge: try await fetchChallenge(),
              name: accountDetails.userName,
              userID: accountDetails.userID,
              requestStyle: .conditional
          )
      
          do {
              let passkey = try await authorizationController.performRequest(request)
              // Save new passkey to the backend
          } catch { ... }
      }
    • 0:00 - Introduction
    • L’ensemble du secteur s’efforce d’éliminer les mots de passe au profit de clés d’identification, une méthode plus sûre et conviviale qui éradique le hameçonnage et simplifie le processus de connexion.

    • 0:58 - Le parcours des clés d’identification
    • Les mises à jour vers iOS, iPadOS, macOS et visionOS facilitent la création, la gestion et la mise à niveau des clés d’identification, accélérant ainsi l’adoption de ces clés. L’industrie est en train de passer des mots de passe et des codes SMS/e-mails hameçonnables aux clés d’identification non hameçonnables. De nombreux comptes proposent des clés d’identification comme méthode de connexion supplémentaire, mais l’objectif est d’éliminer complètement les facteurs de hameçonnage. L’adoption des clés d’identification s’étend rapidement et ces clés rencontrent des taux de réussite élevés en matière de connexion. L’Alliance FIDO a constaté que 69 % des personnes possédaient au moins une clé d’identification. Google a constaté que la connexion avec des clés d’identification est quatre fois plus efficace qu’avec des mots de passe et TikTok enregistre un taux de réussite de 97 % avec les connexions par clé d’identification.

    • 3:30 - API de création de compte
    • La nouvelle API de création de compte révolutionne le processus d’inscription pour les apps. Cette API est disponible sur iOS, iPadOS, macOS et visionOS, et fonctionne avec l’app Mots de passe et des gestionnaires d’identifiants tiers. Il est désormais possible de créer directement un compte avec des clés d’identification, ce qui rend l’expérience plus conviviale et réduit le risque d’attaques par hameçonnage. Le processus d’inscription avec l’API de création de compte est incroyablement optimisé. Au lieu d’un formulaire en plusieurs étapes, une feuille préremplie montre exactement ce que l’app demande pour l’inscription, et peut être personnalisée par l’utilisateur. Une fois l’opération terminée, le système génère automatiquement une clé d’identification, qui est enregistrée dans l’app Mots de passe. Les avantages des clés d’identification vont au-delà des inscriptions. La connexion se fait sans effort et les clés d’identification sont automatiquement synchronisées sur tous les appareils. Facile à adopter, l’API de création de compte gère parfaitement les erreurs potentielles pour vous offrir une expérience d’inscription fluide, même si un appareil n’est pas configuré pour la création de clés d’identification, ou possède déjà un compte à l’aide de Se connecter avec Apple.

    • 10:48 - Garder les clés d’identification à jour
    • Les nouvelles API de signalisation permettent aux apps et aux sites web d’informer les gestionnaires d’identifiants de tout changement apporté aux informations de compte, comme les noms d’utilisateur, les adresses e-mail ou la révocation des clés d’identification. Cela garantit le fait que les gestionnaires d’identifiants restent à jour, ce qui permet d’éviter les confusions et les problèmes de connexion. Par exemple, lorsqu’une personne met à jour son adresse e-mail dans une app, l’app le signale immédiatement au gestionnaire d’identifiants, qui met alors à jour ses dossiers. Ces API prennent en charge les comptes sans mot de passe, qui sont les plus sécurisés. Les API informent également les gestionnaires d’identifiants lorsque les mots de passe ne sont plus nécessaires, renforçant ainsi la sécurité globale et améliorant l’expérience utilisateur.

    • 14:41 - Mise à niveau automatique des clés d’identification
    • Les mises à niveau automatiques des clés d’identification renforcent la sécurité des comptes pour les personnes qui se connectent encore avec des mots de passe, sans complications. Une fois la connexion par mot de passe établie, les apps et les sites web peuvent créer des clés d’identification en arrière-plan. Une notification vous informe de l’ajout d’une clé d’identification, offrant ainsi une ouverture de session plus simple et plus sécurisée à l’avenir. Le mot de passe reste valide et le processus de mise à niveau a lieu à chaque tentative de connexion par mot de passe s’il n’existe pas encore de clé d’identification.

    • 16:59 - Points de terminaison de gestion des clés d’identification
    • En implémentant l’URL standard et bien connue pour les points de terminaison de gestion des clés d’identification, les sites Web peuvent directement relier les gestionnaires d’identifiants à leurs pages d’inscription et de gestion des clés d’identification. Cette approche simplifie le processus de mise à niveau des clés d’identification, de sorte que les utilisateurs peuvent facilement changer de mots de passe dans leur gestionnaire d’identifiants. La réponse JSON du serveur doit inclure des URL pour l’inscription et la gestion, être servie avec un code d’état « 200 OK » et être accessible à tous les agents utilisateurs, y compris les apps et les navigateurs web.

    • 19:12 - Importation et exportation de clés d’identification
    • Les clés d’identification peuvent désormais être transférées en toute sécurité entre les apps de gestion d’identifiants participantes sur iOS, iPadOS, macOS et visionOS 26. Ce processus initié par l’utilisateur, sécurisé par une authentification locale comme Face ID, réduit le risque de fuites d’informations d’identification. Le transfert utilise un schéma de données standardisé développé par la FIDO Alliance, ce qui garantit la compatibilité entre les apps. Offrez la meilleure expérience d’authentification et aidez les gens à évoluer vers un avenir plus sûr et sans mots de passe. Adoptez l’API de création de compte pour une intégration rapide et sécurisée, maintenez les clés d’identification à jour à l’aide de l’API Signal, activez les mises à niveau automatiques des clés d’identification et prenez en charge les points de terminaison de gestion des clés d’identification.

Developer Footer

  • Vidéos
  • WWDC25
  • Quoi de neuf dans les clés d’identification
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Store
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Sample Code
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright © 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines