Overview
Puede administrar las cuentas de usuario de su aplicación con la interfaz de usuario de App Services, la CLI de App Services, la API de administración o los SDK de Realm.
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.
Eliminar un usuario manualmente
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 eliminar un usuario, llama a appservices users delete. La CLI te solicitará el ID de tu aplicación y te mostrará una lista de los usuarios que puedes seleccionar.
appservices users delete
También puedes especificar los argumentos cuando llamas al programa:
appservices users delete \ --app=<Your App ID> \ --user=<User ID>
Tip
Puede eliminar varios usuarios con un solo comando especificando sus valores id como una lista separada por comas.
appservices users delete --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para eliminar un usuario, cree una solicitud DELETE con el siguiente formato. Debe especificar el grupo, la aplicación y el ID de usuario.
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 eliminar un usuario con correo electrónico/contraseña pendiente, cree 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.
Eliminar un usuario en el SDK
Puede brindarles a los usuarios la opción de eliminar su propia cuenta desde una aplicación cliente cuando usa los SDK de Realm para eliminar usuarios.
Borrar un usuario con una función personalizada
Puedes escribir una función personalizada para eliminar un usuario. Esto te puede interesar si tu SDK aún no es compatible con la API de eliminación de usuarios.
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.
Podemos llamar a esta función desde el SDK. La función de ejemplo a continuación no acepta argumentos y elimina al usuario que la llama.
Tip
Si su aplicación utiliza autenticación por correo electrónico y contraseña, considere que es posible que desee eliminar usuarios pendientes, lo que implica un segundo punto final:
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
Puedes deshabilitar temporalmente a un usuario, lo que le impide iniciar sesión e invalida sus tokens de acceso y actualización. Puedes habilitar a un usuario deshabilitado 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 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.
Para habilitar un usuario, llame a appservices users enable. La CLI le solicitará el ID de su aplicación y le mostrará una lista de los usuarios de esa aplicación para que los seleccione.
appservices users enable
También puedes especificar los argumentos cuando llamas al programa:
appservices users enable \ --app=<Your App ID> \ --user=<User ID>
Tip
Puede habilitar varios usuarios con un solo comando especificando sus valores id como una lista separada por comas.
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