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

Criar e excluir usuários - Swift SDK

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 forneçam 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, deve implementar a exclusão da conta de usuário até junho 30 2022de,.

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. Apple exige que você divida as políticas de retenção e exclusão de dados para seus clientes de aplicação e forneç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 aplicação usar 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

Nesta página