Overview
You can manage your application's user accounts with the App Services UI, App Services CLI, Admin API, or Realm SDKs.
Borrar un usuario
Puedes eliminar completamente un usuario de tu aplicación, incluyendo los metadatos y las identidades del proveedor de autenticación. Eliminar un usuario también finaliza inmediatamente cualquier sesión asociada a él.
Tip
Si no desea eliminar la cuenta del usuario, puede deshabilitar su cuenta para suspender temporalmente su acceso.
Borrar manualmente un usuario
Puede utilizar la interfaz de usuario de App Services, la CLI o la API de administración para eliminar manualmente una cuenta de usuario.
Seleccionar App Users desde el menú de navegación de la izquierda.
Seleccione Confirmed o Pending, según el estado actual del usuario que desea eliminar.
En la pestaña Users, busque un usuario en la lista y haga clic en los puntos suspensivos (
...).Haga clic en Delete User y confirme su elección.
Para borrar un usuario, llama a appservices users delete. La CLI te pedirá tu ID de la aplicación y enumerará los usuarios en esa aplicación para que selecciones.
appservices users delete
También puedes especificar los argumentos cuando llamas al programa:
appservices users delete \ --app=<Your App ID> \ --user=<User ID>
Tip
Se pueden borrar varios usuarios con un solo comando especificando sus valores de id como una lista separada por comas.
appservices users delete --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
To delete a user, create a DELETE request in the following format. You must specify the Group, App, and User ID.
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>
Si desea borrar un usuario de correo electrónico/contraseña pendiente, crea una solicitud en el siguiente formato:
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/by_email/<email>
Nota
App Services no elimina automáticamente los datos de su clúster de MongoDB Atlas vinculado que haya asociado con un usuario eliminado. Por ejemplo, si su aplicación permite a los usuarios crear datos vinculados a un usuario incluyendo su ID en un campo owner_id, al eliminar el objeto de usuario no se eliminan los datos vinculados creados por el usuario. Para eliminar cualquier rastro de un usuario eliminado, debe eliminar o modificar manualmente dichos documentos.
Borrar un usuario en el SDK
Puedes dar a los usuarios la opción de borrar su propia cuenta desde una aplicación cliente cuando uses los SDK de Realm para borrar usuarios.
Borrar un usuario con una función personalizada
You can write a custom function to delete a user. You might want to do this if your SDK does not yet support the delete users API.
Cree una función similar a la del ejemplo a continuación que Application Authentication use. Podría ser útil incorporar la gestión de errores en caso de que la función no se autentique correctamente o no pueda eliminar al usuario que la llama.
Para esta función de ejemplo, hemos creado valores y secretos para adminApiPublicKey y adminApiPrivateKey. Luego, agregaríamos los ID de proyecto y de aplicación apiUrla.
Luego, podemos llamar a esta función desde el SDK. La función de ejemplo siguiente no toma ningún argumento y borra al usuario que llama a la función.
Tip
If your app uses Email/Password Authentication, consider that you may want to delete pending users, which involves a second endpoint:
const apiUrl = "https://services.cloud.mongodb.com/api/admin/v3.0/groups/{insert-your-project-id}/apps/{insert-your-app-id}"; exports = async function(){ // This function deletes the user who calls it. It gets this user's ID // from the user in the function context. This is safer than accepting // a passed-in user ID, as the user can never delete any other user's account. const callersUserId = context.user.id async function adminLogIn() { const username = context.values.get("adminApiPublicKey"); const apiKey = context.values.get("adminApiPrivateKey"); const response = await context.http.post({ url: "https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login", body: {username, apiKey}, encodeBodyAsJSON: true, }); const body = EJSON.parse(response.body.text()); return body.access_token; } const token = await adminLogIn(); async function deleteUser(_id) { await context.http.delete({ url: `${apiUrl}/users/${_id}`, headers: {"Authorization": [`Bearer ${token}`]} }); return _id; } return deleteUser(callersUserId); };
Deshabilitar un usuario
You can temporarily disable a user, which prevents the user from logging in and invalidates any of the user's existing access and refresh tokens. You can enable a disabled user to let them log in again.
Seleccione App Users en el menú de navegación de la izquierda.
Seleccione Confirmed o Pending, según el estado actual del usuario que desea deshabilitar.
En la pestaña Users, busque un usuario en la lista y haga clic en el ícono de puntos suspensivos (
...).Haga clic en Disable User y confirme su elección.
Para deshabilitar un usuario, llame a appservices users disable. La CLI le solicitará el ID de su aplicación y le mostrará una lista de usuarios de esa aplicación para que los seleccione.
appservices users disable
También puedes especificar los argumentos cuando llamas al programa:
appservices users disable \ --app=<Your App ID> \ --user=<User ID>
Tip
Puede deshabilitar varios usuarios con un solo comando especificando sus valores id como una lista separada por comas.
appservices users disable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para inhabilitar un usuario, cree una solicitud PUT con el siguiente formato. Debe especificar el grupo, la aplicación y el ID de usuario.
curl --request PUT \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/disable
Habilitar un usuario
Puedes habilitar a un usuario desactivado para que pueda volver a iniciar sesión.
Seleccione App Users en el menú de navegación de la izquierda.
Seleccione Confirmed o Pending, según el estado actual del usuario que desea habilitar.
En la pestaña Users, busque un usuario en la lista y haga clic en el ícono de puntos suspensivos (
...).Haga clic en Enable User y confirme su elección.
To enable a user, call appservices users enable. The CLI will prompt you for your App ID and list users in that app for you to select.
appservices users enable
También puedes especificar los argumentos cuando llamas al programa:
appservices users enable \ --app=<Your App ID> \ --user=<User ID>
Tip
You can enable multiple users with a single command by specifying their id values as a comma-separated list.
appservices users enable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para habilitar un usuario, cree una solicitud PUT con el siguiente formato. Debe especificar el grupo, la aplicación y el ID de usuario.
curl --request PUT \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/enable