-
Novidades das chaves-senha
Descubra as melhorias nas chaves-senha no iOS, iPadOS, macOS e visionOS 26. Vamos explorar as principais novidades, incluindo: a nova API de criação de conta que simplifica o processo de inscrição, formas de manter as chaves-senha atualizadas, novas maneiras de fazer upgrades das chaves-senha, por meio de upgrades automáticos e endpoints de gerenciamento, além da importação e exportação seguras de chaves-senha. Saiba como esses aprimoramentos melhoram a experiência e a segurança do usuário e aprenda a implementar essas atualizações em seus apps para proporcionar uma experiência de autenticação mais segura e conveniente. Para aproveitar ao máximo este vídeo, primeiro assista à sessão “Meet passkeys” da WWDC22.
Capítulos
- 0:00 - Introdução
- 0:58 - A jornada das chaves-senha
- 3:30 - API de criação de conta
- 10:48 - Manter as chaves-senha atualizadas
- 14:41 - Upgrades automáticos de chaves-senha
- 16:59 - Endpoints de gerenciamento de chaves-senha
- 19:12 - Importar e exportar chaves-senha
Recursos
- Performing fast account creation with passkeys
- ASCredentialExportManager
- ASCredentialProviderViewController
Vídeos relacionados
WWDC24
WWDC22
-
Buscar neste vídeo...
-
-
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 - Introdução
Todo o setor está trabalhando para eliminar senhas em favor de chaves-senha, um método mais seguro e fácil de usar que erradica o phishing e agiliza o processo de login.
- 0:58 - A jornada das chaves-senha
As atualizações no iOS, iPadOS, macOS e visionOS facilitam a criação, o gerenciamento e o upgrade de chaves-senha, acelerando a adoção das chaves-senha. O setor está fazendo a transição de senhas suscetíveis a phishing e códigos via SMS/e-mail para chaves-senha não suscetíveis a phishing. Muitas contas oferecem chaves-senha como um método de login adicional, mas o objetivo é eliminar totalmente os fatores suscetíveis a phishing. A adoção de chaves-senha está crescendo rapidamente e as chaves-senha têm altas taxas de sucesso de login. A FIDO Alliance descobriu que 69% das pessoas têm pelo menos uma chave-senha, o Google descobriu que login com chave-senha é quatro vezes mais bem-sucedido do que senhas, e o TikTok vê uma taxa de sucesso de 97% com logins de chave-senha.
- 3:30 - API de criação de conta
A nova API de criação de conta revoluciona o processo de inscrição em apps. Essa API está disponível em iOS, iPadOS, macOS e visionOS e funciona com o app Senhas e gerenciadores de credenciais de terceiros. Agora, as pessoas podem criar contas diretamente com chaves-senha, o que torna a experiência mais amigável e reduz o risco de ataques de phishing. O processo de inscrição com a API de criação de conta é incrivelmente simplificado. Em vez de um formulário de várias etapas, uma folha pré-preenchida mostra exatamente o que o app está solicitando para inscrição e é personalizável pelo usuário. Após a conclusão, o sistema gera automaticamente uma chave-senha, que é salva no app Senhas. Os benefícios das chaves-senha vão além da inscrição. O login é simples, já que as chaves-senha são sincronizadas automaticamente em todos os dispositivos. A API de criação de conta é fácil de adotar e lida com possíveis erros normalmente, proporcionando uma experiência de inscrição suave, mesmo que um dispositivo não esteja configurado para a criação de chave-senha ou já tenha uma conta usando Iniciar sessão com a Apple.
- 10:48 - Manter as chaves-senha atualizadas
As novas APIs de sinal permitem que apps e sites notifiquem os gerenciadores de credenciais sobre alterações nas informações da conta, como nomes de usuário, e-mail ou quando chaves-senha estiverem revogadas. Isso garante que os gerenciadores de credenciais permaneçam atualizados, evitando confusões e problemas de login. Por exemplo, quando alguém atualiza seu endereço de e-mail em um app, o app sinaliza imediatamente o gerenciador de credenciais, que atualiza seus registros. Essas APIs oferecem suporte a contas sem senhas, que são as contas mais seguras. As APIs também informam os gerenciadores de credenciais quando as senhas não são mais necessárias, aumentando a segurança geral e melhorando a experiência do usuário.
- 14:41 - Upgrades automáticos de chaves-senha
As atualizações automáticas de chave-senha aprimoram a segurança da conta para aqueles que ainda fazem login com senhas sem introduzir atrito. Após um login de senha bem-sucedido, apps e sites podem criar chaves-senha em segundo plano. Uma notificação informa quando uma chave-senha é adicionada, oferecendo uma opção de entrada mais simples e segura dali em diante. A senha permanece válida e o processo de atualização ocorre em cada tentativa de entrada de senha se uma chave-senha ainda não existir.
- 16:59 - Endpoints de gerenciamento de chaves-senha
Ao implementar a URL padrão e conhecida para endpoints de gerenciamento de chaves-senha, os sites podem vincular diretamente os gerenciadores de credenciais às suas páginas de inscrição de chaves-senha e gerenciamento. Essa abordagem simplifica o processo de atualização da chave-senha, para que as pessoas possam alternar facilmente de senhas em seus gerenciadores de credenciais. A resposta JSON do servidor deve incluir URLs para inscrição e gerenciamento, receber um código de status "200 OK" e estar acessível a todos os agentes do usuário, incluindo apps e navegadores da web.
- 19:12 - Importar e exportar chaves-senha
As chaves-senha agora podem ser transferidas com segurança entre apps gerenciadores de credenciais participantes no iOS, iPadOS, macOS e visionOS 26. Esse processo iniciado pelo usuário, protegido por autenticação local como Face ID, reduz o risco de vazamento de credenciais. A transferência usa um esquema de dados padronizado desenvolvido pela FIDO Alliance, garantindo a compatibilidade entre os apps. Ofereça a melhor experiência de autenticação e ajude as pessoas a migrarem para um futuro mais seguro sem senhas. Adote a API de criação de conta para integração segura e rápida, mantenha as chaves-senha atualizadas usando a API de sinal, habilite upgrades automáticos de chave-senha e ofereça suporte a endpoints de gerenciamento de chaves-senha.