Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/

Ler metadados do usuário

Nesta página

  • Visão geral
  • Esquema
  • Encontrar usuários
  • Filtrar usuários
  • Exibir dados do usuário
  • Exibir os dispositivos de um usuário
  • Exibir dados do fornecedor de um usuário
  • Visualizar o registro de atividades de um usuário
  • Resumo

O Atlas App Services representa cada usuário do aplicativo internamente com um objeto de usuário que inclui um ID exclusivo e metadados adicionais que descrevem o usuário. Você pode acessar objetos de usuário:

Os objetos de usuário têm o seguinte formato:

{
"id": "<Unique User ID>",
"type": "<User Type>",
"data": {
"<Metadata Field>": <Value>,
...
},
"custom_data": {
"<Custom Data Field>": <Value>,
...
},
"identities": [
{
"id": <Unique Identity ID>,
"provider_type": "<Authentication Provider>",
"data": {
"<Metadata Field>": <Value>,
...
}
}
]
}
Campo
Tipo
Descrição
id
string
Uma representação de string do ObjectId que identifica exclusivamente o usuário.
type
string

O tipo do usuário. Os seguintes tipos são possíveis:

Tipo
Descrição
"normal"
O usuário é um usuário de aplicativo conectado por meio de um fornecedor de autenticação que não seja o fornecedor de chave de API.
"servidor"
O usuário é um processo de servidor conectado com qualquer tipo de chave API do App Services.
"sistema"
O usuário é o usuário do sistema que ignora todas as regras.
data
documento

Um documento que contém metadados que descrevem o usuário. Esse campo combina os dados de todos os identities associados ao usuário, portanto, os nomes e valores exatos dos campos dependem de quais fornecedores de autenticação o usuário autenticou.

Observação

As funções do sistema não têm dados de usuário

Nas funções do sistema, o objeto user.data está vazio. Use context.runningAsSystem() para testar se a função está sendo executada como um usuário do sistema.

custom_data
documento

Um documento da collection de dados de usuário customizada do seu aplicativo que especifica o ID do usuário. Você pode usar a collection de dados de usuário customizada para armazenar dados arbitrários sobre os usuários do seu aplicativo. Se você definir o campo name, o App Services preencherá o campo de metadados username com o valor de retorno de name. O App Services busca automaticamente uma nova cópia dos dados sempre que um usuário atualiza seu token de acesso, como quando ele faz login. Os dados subjacentes são um documento normal do MongoDB, portanto, você pode usar operações CRUD padrão por meio do Serviço MongoDB Atlas para definir e modificar os dados personalizados do usuário.

Observação

Evite o armazenar grandes volumes de dados de usuários personalizados.

O usuário de dados personalizado é limitado a 16MB, o tamanho máximo de um documento do MongoDB. Para evitar atingir esse limite, considere armazenando dados de usuário pequenos e relativamente estáticos em cada personalizado documento de dados do usuário, como o idioma preferido do usuário ou a URL da imagem do avatar. Para dados que são grandes, ilimitado ou atualizado com frequência, considere armazenar apenas um referência aos dados no documento do usuário personalizado ou no armazenamento os dados com uma referência ao ID do usuário em vez de no Documento de usuário personalizado.

identities
array

Uma lista de identidades do fornecedor de autenticação associadas ao usuário. Quando um usuário se conecta pela primeira vez com um provedor específico, o App Services associa o usuário a um objeto de identidade que contém um identificador exclusivo e metadados adicionais sobre o usuário do fornecedor. Para logins subsequentes, o App Services atualiza os dados de identidade existentes, mas não cria uma nova identidade. Os objetos de identidade têm o seguinte formulário:

{
"id": "<Unique ID>",
"provider_type": "<Provider Name>",
"data": {
"<Metadata Field>": <Value>,
...
}
}
Nome do campo
Descrição
id
Uma string gerada pelo fornecedor que identifica exclusivamente esta identidade
provider_type
O tipo de fornecedor de autenticação associado a esta identidade.
data
Metadados adicionais do fornecedor de autenticação que descrevem o usuário. Os nomes e valores exatos dos campos variarão dependendo de quais fornecedores de autenticação o usuário usou para se conectar. Para obter uma análise específica do fornecedor dos dados de identidade do usuário, consulte Metadados do usuário.

Observação

Em geral, App Services cria um objeto para um determinado usuário na primeira vez que ele se autentica. Se você criar um usuário de teste de e-mail/senha por meio da Realm UI, o App Services criará o objeto desse usuário imediatamente.

Para encontrar informações sobre um ou mais usuários, clique em App Users no menu de navegação esquerdo. A página abre na guia Users que tem uma lista de usuários associados ao seu Atlas App Services :

A tela Usuários na interface do usuário, que mostra uma lista filtrável de todos os usuários
clique para ampliar

Dica

Se você já souber o ID do usuário que deseja encontrar, poderá pesquisar o ID dele na barra de pesquisa da tabela Users .

Para encontrar informações sobre um ou mais usuários, ligue para appservices users list. A CLI solicitará seu ID do aplicativo e listará os usuários desse aplicativo para você selecionar.

appservices users list

Você também pode especificar os argumentos ao chamar o programa:

appservices users list --app=<Your App ID>

Para encontrar informações sobre um ou mais usuários, crie uma solicitação GET no seguinte formato. Você deve especificar o ID do grupo e do aplicativo.

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users

Se você já souber o ID do usuário que deseja encontrar, poderá anexar o ID ao URL de solicitação:

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>

Você pode especificar filtros que limitam uma lista de usuários a um subconjunto de usuários que satisfazem as condições de filtro.

Utilize o filter bar na parte superior da tabela Users para definir filtros. Você pode filtrar por:

  • Provider type

    • Anônimo

    • E-mail/senha

    • Chave API

    • Facebook

    • Google

    • Apple

    • JWT personalizado

    • Função personalizada

  • Status

    • Confirmado

    • Pendente

  • State

    • Habilitado

    • desabilitado

Você pode filtrar operações de usuário com os seguintes sinalizadores e argumentos:

  • --pending: se incluída, lista apenas usuários pendentes. Caso contrário, lista apenas usuários confirmados.

  • --state: lista somente usuários no estado especificado

    • "enabled"

    • "disabled"

  • --provider:

    • "anon-user"

    • "local-userpass"

    • "api-key"

    • "oauth2-facebook"

    • "oauth2-google"

    • "oauth2-apple"

    • "custom-token"

    • "custom-function"

Exemplo

O comando a seguir limita a saída apenas a usuários de e-mail/senha pendentes (não confirmados):

appservices users list --pending --provider="local-userpass"

Exemplo

O comando a seguir limita a saída apenas para usuários desabilitados :

appservices users list --state="disabled"

Você pode filtrar operações de usuário com os seguintes parâmetros de query:

Parâmetro
Tipo
Descrição
after
string
O id do último usuário retornou por uma solicitação paginada anterior.
sort
string
O nome do campo pelo qual classificar os resultados. O único valor válido é o padrão: _id.
desc
booleano
Se true, retorna resultados ordenados em ordem decrescente. Se não for especificado ou definido como falso, os resultados retornarão em ordem crescente.

Exemplo

A solicitação a seguir retorna os usuários em ordem decrescente de acordo com seus _id:

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users?desc=true

Você também pode limitar os resultados apenas a usuários de e-mail/senha pendentes (não confirmados). Crie uma solicitação GET no seguinte formato:

curl --request GET \
--header 'Authorization: Bearer <access_token>' \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/pending_users

Quando um usuário se conecta ao seu aplicativo, o Atlas App Services registra informações semelhantes às seguintes:

Uma visualização detalhada para um usuário específico que lista os dispositivos que ele usou com sua aplicação
clique para ampliar

As informações registradas incluem:

  • A plataforma do dispositivo, que será um cliente http("chrome", "firefox", "phantomjs", etc.) ou um sistema operacional móvel ("ios","android", etc.)

  • A versão da plataforma.

  • A versão do seu aplicativo no dispositivo.

  • Um ID de dispositivo exclusivo.

Para visualizar essas informações, na lista de usuários:

  1. Encontre o usuário cujos dispositivos você deseja visualizar.

  2. Clique em ... para abrir o menu de opções e selecione View Devices.

Sempre que um usuário se conecta à sua aplicação e se autentica usando um dos provedor de autenticação que você habilitou, o App Services registra os dados do fornecedor.

Uma visualização detalhada de um usuário específico que lista metadados sobre ele de um provedor de autenticação
clique para ampliar

Para visualizar essas informações, na lista de usuários:

  1. Encontre o usuário cujos dados do fornecedor você deseja visualizar.

  2. Clique em ... para abrir o menu de opções e selecione View Provider Data.

App Services registram todas as solicitações feitas por cada um de seus aplicativos usuários, incluindo chamadas de funções executadas. Além disso, se uma função gravar em o registro usando console.log, console.warn ou console.error, essas entradas serão incluídas na saída de log da função.

Uma visualização detalhada de um usuário específico que mostra um registro de suas interações com sua aplicação
clique para ampliar

Para visualizar essas informações, na lista de usuários:

  1. Encontre o usuário cujos dados de atividade você deseja visualizar.

  2. Clique View Activity. Isso redireciona você para um registro de solicitações feitas por esse usuário específico. Você pode expandir uma entrada para visualizar os detalhes dessa solicitação.

  • O objeto de usuário contém informações relevantes sobre o usuário que você pode usar na lógica do seu aplicativo.

  • A informação exata contida no objeto de usuário depende dos provedores de autenticação utilizados.

  • Você pode pesquisar usuários na página Users da interface do usuário do App Services.

  • O App Services registra informações como os dispositivos conectados do usuário, os dados do fornecedor e o registro de atividades.

Voltar

Definir metadados do usuário