Gerenciar contas de usuário
Nesta página
Visão geral
Você pode managed as contas de usuário da sua aplicação com a Realm UI, o App Services CLI, a API Admin ou os SDKs do Realm.
Excluir um usuário
Você pode remover completamente um usuário da sua aplicação, incluindo quaisquer metadados e identidades do provedor de autenticação. Excluir um usuário também encerra imediatamente todas as sessões associadas a esse usuário.
Dica
Se não quiser excluir a conta do usuário, você pode desabilitar a conta para suspender temporariamente o acesso.
Excluir um usuário manualmente
Você pode usar a UI do App Services, CLI ou Admin API para remover manualmente uma conta de usuário.
Selecione App Users no menu de navegação esquerdo.
Selecione Confirmed ou Pending, dependendo do estado atual do usuário que você deseja excluir.
Na aba Users , localize um usuário na lista e clique nas reticências (
...
).Clique Delete User e confirme sua escolha.
Para excluir um usuário, ligue para appservices users delete
. A CLI solicitará seu ID do aplicativo e listará os usuários desse aplicativo para você selecionar.
appservices users delete
Você também pode especificar os argumentos ao chamar o programa:
appservices users delete \ --app=<Your App ID> \ --user=<User ID>
Dica
Você pode excluir vários usuários com um único comando especificando seus valores de id
como uma lista separada por vírgula.
appservices users delete --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para excluir um usuário, crie uma solicitação DELETE
no seguinte formato. Você deve especificar o ID do grupo, do aplicativo e do usuário.
curl --request DELETE \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>
Se você quiser excluir um usuário de e-mail/senha pendente , crie uma solicitação no seguinte 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>
Observação
O App Services não exclui automaticamente nenhum dado em seu MongoDB Atlas cluster que você tenha associado a um usuário excluído. Por exemplo, se o seu aplicativo permitir que os usuários criem dados vinculados a um usuário incluindo seu ID em um campo owner_id
, a exclusão do objeto de usuário não excluirá os dados vinculados criados pelo usuário. Para remover todos os rastreamentos de um usuário excluído, você deve excluir ou modificar manualmente esses documentos.
Excluir um usuário no SDK
Você pode oferecer aos usuários a opção de excluir sua própria conta de um aplicativo cliente quando usar os Realm SDKs para excluir usuários.
Excluir um usuário com uma função personalizada
Você pode escrever uma função personalizada para excluir um usuário. Talvez você queira fazer isso se o SDK ainda não for compatível com a API de exclusão de usuários.
Crie uma função semelhante ao nosso exemplo abaixo que utiliza Application Authentication . Talvez você queira incorporar o tratamento de erros no evento de a função não autentique com êxito ou não possa excluir o usuário que chama.
Para esta função de exemplo, criamos valores e segredos para adminApiPublicKey e adminApiPrivateKey. Em seguida, adicionaremos os ID do projeto e da aplicação ao apiUrl
.
Podemos então chamar essa função do SDK. A função de exemplo abaixo não utiliza argumentos e exclui o usuário que chama a função.
Dica
Se o seu aplicativo usar autenticação por e-mail/senha, considere que você pode querer excluir usuários pendentes, o que envolve um segundo 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); };
Desabilitar um usuário
Você pode desabilitar temporariamente um usuário, o que impede que o usuário faça login e invalida qualquer token de acesso e atualização existente do usuário. Você pode habilitar um usuário desativado para permitir que ele faça login novamente.
Selecione App Users no menu de navegação esquerdo.
Selecione Confirmed ou Pending, dependendo do estado atual do usuário que você deseja desabilitar.
Na aba Users, localize um usuário na lista e clique nas reticências (
...
).Clique Disable User e confirme sua escolha.
Para desabilitar um usuário, ligue para appservices users disable
. A CLI solicitará seu ID do aplicativo e listará os usuários desse aplicativo para você selecionar.
appservices users disable
Você também pode especificar os argumentos ao chamar o programa:
appservices users disable \ --app=<Your App ID> \ --user=<User ID>
Dica
Você pode desabilitar vários usuários com um único comando especificando seus valores de id
como uma lista separada por vírgula.
appservices users disable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para desabilitar um usuário, crie uma solicitação do PUT
no seguinte formato. Você deve especificar o ID do grupo, do aplicativo e do usuário.
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 um usuário
Você pode habilitar um usuário desativado para permitir que ele faça login novamente.
Selecione App Users no menu de navegação esquerdo.
Selecione Confirmed ou Pending, dependendo do estado atual do usuário que você deseja habilitar.
Na aba Users, localize um usuário na lista e clique nas reticências (
...
).Clique Enable User e confirme sua escolha.
Para habilitar um usuário, ligue para appservices users enable
. A CLI solicitará seu ID do aplicativo e listará os usuários desse aplicativo para você selecionar.
appservices users enable
Você também pode especificar os argumentos ao chamar o programa:
appservices users enable \ --app=<Your App ID> \ --user=<User ID>
Dica
Você pode habilitar vários usuários com um único comando especificando seus valores de id
como uma lista separada por vírgula.
appservices users enable --user=6099694d5debcbcc873ff413,60996996b78eca4a8d615d3a
Para habilitar um usuário, crie uma solicitação do PUT
no seguinte formato. Você deve especificar o ID do grupo, do aplicativo e do usuário.
curl --request PUT \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>/enable