Crear un usuario
Para la mayoría Métodos de autenticación: Atlas App Services crea automáticamente un objeto de usuario la primera vez que un usuario se autentica. La única excepción es la autenticación por correo electrónico y contraseña. Al usar esta autenticación, debe registrar y confirmar al usuario antes de que pueda autenticarse en una aplicación de App Services.
Tip
Requisitos para eliminar una cuenta de Apple
Apple exige que las aplicaciones que se enumeran a través de su App StoreDebe dar a cualquier usuario que cree una cuenta la opción de eliminarla. Tanto si utiliza un método de autenticación que requiere el registro manual de un usuario, como la autenticación por correo electrónico y contraseña, como uno que crea un usuario automáticamente, como Iniciar sesión con Apple, debe implementar la eliminación de cuentas de usuario antes del de junio 30 2022del.
Borrar un usuario
Nuevo en la versión 10.23.0.
Puede llamar al método delete en un objeto de usuario para eliminarlo de su aplicación. Esto elimina el objeto del servidor además de borrar los datos locales.
Importante
Eliminar un usuario solo elimina el objeto de usuario, que puede contener metadatos asociados. Esto no elimina los datos de usuario personalizados ni los datos introducidos por el usuario de la aplicación. Apple exige que se informen las políticas de retención y eliminación de datos a los clientes de la aplicación y que se les proporcione una forma de solicitar la eliminación de los datos de usuario. Si se recopilan datos de usuario adicionales, se deben implementar métodos o procesos propios para eliminarlos.
Eliminar usuarios con Async/Await
Si su aplicación utiliza la sintaxis async/await de 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 de las versiones 10.15.0 y 10.16.0 del SDK de Realm Swift, muchas de las API de Realm admiten la sintaxis async/await de Swift. Los proyectos deben cumplir estos requisitos:
Versión del SDK de Swift | Requisito de versión Swift | Sistema operativo compatible |
|---|---|---|
10.25.0 | Swift 5.6 | iOS 13.x |
10.15.0 o 10.16.0 | Swift 5.5 | iOS 15.x |
Si su aplicación accede a Realm en un async/await contexto, marque el código con @MainActor para evitar fallas relacionadas con subprocesos.
Eliminar usuarios con controladores de finalización
Si su aplicación no utiliza 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)