Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Criar e excluir usuários - Swift SDK

Nesta página

  • Criar um usuário
  • Excluir um usuário
  • Excluir usuários com Async/Await
  • Excluir usuários com manipuladores de conclusão

Para a maioria dosmétodos de autenticação , o Atlas App Services cria automaticamente um objeto de usuário na primeira vez que um usuário se autentica. A única exceção é a autenticação por e-mail/senha. Ao usar a autenticação de e-mail/senha, você deve registrar e confirmar um usuário antes que o usuário possa se autenticar em um App Services App.

Dica

Requisitos de exclusão de conta Apple

A Apple exige que os aplicativos listados em sua App Store deve dar a qualquer usuário que crie uma conta a opção de excluí-la. Se você usa um método de autenticação em que deve registrar manualmente um usuário, como autenticação de e-mail/senha, ou um que cria automaticamente um usuário, como o Sign-In with Apple, você deve implementar a exclusão da conta de usuário até junho 30, 2022.

Novidades na versão 10.23.0.

Você pode chamar o método de exclusão em um objeto de usuário para excluir o objeto de usuário do seu aplicativo. Isso exclui o objeto do servidor, além de limpar os dados locais.

Importante

A exclusão de um usuário exclui apenas o objeto de usuário , que pode conter metadados associados . Isso não exclui dados de usuário personalizados ou dados inseridos pelo usuário do seu aplicação. A Apple exige que você divida as políticas de retenção e exclusão de dados aos seus clientes de aplicação e ofereça a eles uma maneira de solicitar a exclusão de dados do usuário. Se você coletar dados de usuário adicionais, deverá implementar seus próprios métodos ou processos para excluir esses dados.

Se o seu aplicativo usa a sintaxe async/await da Apple:

func testAsyncDeleteUser() async throws {
// Logging in using anonymous authentication creates a user object
let syncUser = try await app.login(credentials: Credentials.anonymous)
// Now we have a user, and the total users in the app = 1
XCTAssertNotNil(syncUser)
XCTAssertEqual(app.allUsers.count, 1)
// Call the `delete` method to delete the user
try await syncUser.delete()
// When you delete the user, the SyncSession is destroyed and
// there is no current user.
XCTAssertNil(app.currentUser)
// Now that we've deleted the user, the app has no users.
XCTAssertEqual(app.allUsers.count, 0)
}

A partir das versões 10.15.0 e 10.16.0 do SDK do Realm Swift, muitas das APIs do Realm suportam a sintaxe async/await do Swift. Os projetos devem atender a estes requisitos:

Versão do Swift SDK
Requisito de versão do Swift
Sistema operacional compatível
10.25.0
Swift 5.6
iOS 13.x
10.15.0 ou 10.16.0
Swift 5.5
iOS 15.x

Se a sua aplicação acessar Realm em um contexto do async/await, marque o código com @MainActor para evitar falhas relacionadas a threading.

Se o seu aplicativo não usar async/await:

// Logging in using anonymous authentication creates a user object
app.login(credentials: Credentials.anonymous) { [self] (result) in
switch result {
case .failure(let error):
fatalError("Login failed: \(error.localizedDescription)")
case .success(let user):
// Assign the user object to a variable to demonstrate user deletion
syncUser = user
}
}
// Later, after the user is loggedd in we have a user,
// and the total users in the app = 1
XCTAssertNotNil(syncUser)
XCTAssertEqual(app.allUsers.count, 1)
// Call the `delete` method to delete the user
syncUser!.delete { (error) in
XCTAssertNil(error)
}
// When you delete the user, the SyncSession is destroyed and
// there is no current user.
XCTAssertNil(app.currentUser)
// Now that we've deleted the user, the app has no users.
XCTAssertEqual(app.allUsers.count, 0)

Voltar

Gerenciar usuários