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

Read User Metadata

Atlas App Services representa internamente a cada usuario de la aplicación con un objeto de usuario que incluye un ID único y metadatos adicionales que lo describen. Puede acceder a los objetos de usuario:

Los objetos de usuario tienen la siguiente forma:

{
"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
Descripción

id

string

Una representación en string del ObjectId que identifica de forma única al usuario.

type

string

El tipo de usuario. Son posibles los siguientes tipos:

Tipo
Descripción

"Normal"

The user is an application user logged in through an authentication provider other than the API Key provider.

"servidor"

The user is a server process logged in with any type of App Services API Key.

"sistema"

El usuario es el usuario del sistema que pasa por alto todas las reglas.

data

Documento

Un documento que contiene metadatos que describen al usuario. Este campo combina los datos de todos los identities asociados con el usuario, por lo que los nombres exactos de los campos y los valores dependen de con qué proveedores de autenticación se haya autenticado el usuario.

Nota

Las funciones del sistema no tienen datos de usuario

In system functions, the user.data object is empty. Use context.runningAsSystem() to test if the function is running as a system user.

custom_data

Documento

A document from your application's custom user data collection that specifies the user's ID. You can use the custom user data collection to store arbitrary data about your application's users. If you set the name field, App Services populates the username metadata field with the return value of name. App Services automatically fetches a new copy of the data whenever a user refreshes their access token, such as when they log in. The underlying data is a regular MongoDB document, so you can use standard CRUD operations through the MongoDB Atlas service to define and modify the user's custom data.

Nota

Evite almacenar grandes cantidades de datos de usuarios personalizados

Los datos de usuario personalizados están limitados a 16MB, que es el tamaño máximo de un documento de MongoDB. Para evitar alcanzar este límite, considera almacenar datos de usuario pequeños y relativamente estáticos en cada documento de datos de usuario personalizados, como el lenguaje preferido del usuario o la URL de su imagen de avatar. Para datos que son grandes, ilimitados o que se actualizan con frecuencia, considere almacenar solamente una referencia a los datos en el documento de usuario personalizado o almacenar los datos con una referencia al ID del usuario en lugar de hacerlo en el documento de usuario personalizado.

identities

arreglo

Una lista de identidades de proveedores de autenticación asociadas al usuario. Cuando un usuario inicia sesión por primera vez con un proveedor específico, App Services lo asocia con un objeto de identidad que contiene un identificador único y metadatos adicionales del proveedor sobre el usuario. Para los inicios de sesión posteriores, App Services actualiza los datos de identidad existentes, pero no crea una nueva identidad. Los objetos de identidad tienen el siguiente formato:

{
"id": "<Unique ID>",
"provider_type": "<Provider Name>",
"data": {
"<Metadata Field>": <Value>,
...
}
}
Nombre de campo
Descripción

id

A provider-generated string that uniquely identifies this identity

provider_type

El tipo de proveedor de autenticación asociado a esta identidad.

data

Metadatos adicionales del proveedor de autenticación que describen al usuario. Los nombres y valores exactos de los campos variarán según el proveedor de autenticación con el que haya iniciado sesión el usuario. Para obtener un desglose de los datos de identidad del usuario por proveedor, consulte Metadatos del usuario.

Nota

En general, App Services crea un objeto de usuario para un usuario dado la primera vez que se autentica. Si creas un usuario de correo electrónico/contraseña de prueba a través de la Interfaz de usuario Realm, App Services crea inmediatamente el objeto de usuario de ese usuario.

Para encontrar información sobre uno o más usuarios, haga clic en App Users En el menú de navegación izquierdo, la página se abre en la pestaña Users, que contiene una lista de usuarios asociados a su aplicación Atlas App Services:

La pantalla de Usuarios en la interfaz de usuario, que muestra una lista con filtro de todos los usuarios
haga clic para ampliar

Tip

Si ya conoce el ID del usuario que desea encontrar, puede buscar su ID en la barra de búsqueda de la tabla Users.

Para buscar información sobre uno o más usuarios, llame a appservices users list. La CLI le solicitará el ID de su aplicación y listará los usuarios de esa aplicación para que los seleccione.

appservices users list

También puedes especificar los argumentos cuando llamas al programa:

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

Para buscar información sobre uno o más usuarios, cree una solicitud GET con el siguiente formato. Debe especificar el ID del grupo y de la aplicación.

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

Si ya conoce el ID del usuario que desea encontrar, puede agregar el ID a la URL de solicitud:

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

Puede especificar filtros que limiten una lista de usuarios a un subconjunto de usuarios que satisfagan las condiciones del filtro.

Utilice el filter bar en la parte superior de la tabla Users para definir filtros. Puede filtrar por:

  • Provider type

    • Anonymous

    • Correo electrónico/Contraseña

    • Llave API

    • Facebook

    • Google

    • Apple

    • JWT personalizado

    • Función personalizada

  • Status

    • Confirmado

    • Pendiente

  • State

    • Activado

    • Discapacitados

Puede filtrar las operaciones del usuario con los siguientes indicadores y argumentos:

  • --pending: If included, lists only pending users. Otherwise, lists only confirmed users.

  • --state:Enumera solo los usuarios en el estado especificado

    • "enabled"

    • "disabled"

  • --provider:

    • "anon-user"

    • "local-userpass"

    • "api-key"

    • "oauth2-facebook"

    • "oauth2-google"

    • "oauth2-apple"

    • "custom-token"

    • "custom-function"

Ejemplo

The following command limits the output to only pending (unconfirmed) email/password users:

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

Ejemplo

El siguiente comando limita la salida únicamente a los usuarios deshabilitados:

appservices users list --state="disabled"

Puedes filtrar las operaciones de usuario con los siguientes parámetros de query:

Parameter
Tipo
Descripción

after

string

The id of the last user returned by a previous paginated request.

sort

string

The field name to sort results by. The only valid value is the default: _id.

desc

booleano

Si es true, devuelve los resultados ordenados en orden descendente. Si no se especifica o se establece como falso, los resultados se devuelven en orden ascendente.

Ejemplo

La siguiente solicitud devuelve los usuarios en orden descendente por su _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

También puedes limitar los resultados solo a usuarios de correo electrónico/contraseña pendientes (no confirmados). Crea una solicitud GET en el siguiente 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

When a user connects to your application, Atlas App Services logs information similar to the following:

A detail view for a specific user that lists devices they've used with your app
haga clic para ampliar

La información registrada incluye:

  • La plataforma del dispositivo, que será un cliente http ("chrome", "firefox", "phantomjs", etc.) o un sistema operativo móvil ("ios", "android", etc.)

  • The platform version.

  • La versión de tu aplicación en el dispositivo.

  • A unique device ID.

To view this information, from the list of users:

  1. Find the user whose devices you want to view.

  2. Click ... to open the options menu, and select View Devices.

Whenever a user connects to your application and authenticates using one of the authentication providers you have enabled, App Services logs the provider data.

Una vista detallada para un usuario específico que enumera metadatos sobre él provenientes de un proveedor de autenticación
haga clic para ampliar

To view this information, from the list of users:

  1. Encuentre el usuario cuyos datos de proveedor desea ver.

  2. Click ... to open the options menu, and select View Provider Data.

App Services registra todas las solicitudes realizadas por cada usuario de tu aplicación, incluidas las llamadas a funciones ejecutadas. Además, si una función escribe en el registro usando console.log, console.warn o console.error, estas entradas se incluirán en la salida del registro de la función.

Una vista detallada para un usuario específico que muestra un registro de sus interacciones con su aplicación
haga clic para ampliar

To view this information, from the list of users:

  1. Encuentra al usuario cuyos datos de actividad deseas ver.

  2. Click View Activity. This redirects you to a log of requests made by that specific user. You can expand an entry to view details for that request.

  • El objeto de usuario contiene información relevante sobre el usuario que puedes utilizar en la lógica de tu aplicación.

  • The exact information contained in the user object depends on the authentication providers used.

  • Puede buscar usuarios en la página Users de la interfaz de usuario de Servicios de aplicaciones.

  • App Services registra información como los dispositivos conectados del usuario, los datos del proveedor y el registro de actividad.

Volver

Define User Metadata

En esta página