Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Authenticate & Manage Users

Administrar cuentas de usuario

You can manage your application's user accounts with the App Services UI, App Services CLI, Admin API, or Realm SDKs.

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.

Puede utilizar la interfaz de usuario de App Services, la CLI o la API de administración para eliminar manualmente una cuenta de usuario.

  1. Seleccionar App Users desde el menú de navegación de la izquierda.

  2. Seleccione Confirmed o Pending, según el estado actual del usuario que desea eliminar.

  3. En la pestaña Users, busque un usuario en la lista y haga clic en los puntos suspensivos (...).

  4. 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.

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.

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);
};

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.

  1. Seleccione App Users en el menú de navegación de la izquierda.

  2. Seleccione Confirmed o Pending, según el estado actual del usuario que desea deshabilitar.

  3. En la pestaña Users, busque un usuario en la lista y haga clic en el ícono de puntos suspensivos (...).

  4. 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

Puedes habilitar a un usuario desactivado para que pueda volver a iniciar sesión.

  1. Seleccione App Users en el menú de navegación de la izquierda.

  2. Seleccione Confirmed o Pending, según el estado actual del usuario que desea habilitar.

  3. En la pestaña Users, busque un usuario en la lista y haga clic en el ícono de puntos suspensivos (...).

  4. 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

Volver

Read User Metadata

En esta página