-
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
- Performing fast account creation with passkeys
- ASCredentialExportManager
- ASCredentialProviderViewController
Vidéos connexes
WWDC24
WWDC22
-
Rechercher dans cette vidéo…
-
-
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.