Saltar al contenido principal

Metadatos del usuario

Crear metadatos del usuario

Para crear un usuario con los siguientes datos del perfil:
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing"
    },
    "app_metadata": {
        "plan": "full"
    }
}
Haga la siguiente llamada POST al endpoint /post_users para crear el usuario y establecer los valores de las propiedades:

Actualizar los metadatos del usuario

Puede actualizar los metadatos de un usuario realizando una llamada PATCH al endpoint /patch_users_by_id de la Management API. Supongamos que creó un usuario con los siguientes valores de metadatos:
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing"
    },
    "app_metadata": {
        "plan": "full"
    }
}
Para actualizar user_metadata y añadir el domicilio del usuario como una propiedad de segundo nivel:
{
    "addresses": {
        "home": "123 Main Street, Anytown, ST 12345"
    }
}
Realizarías la siguiente llamada PATCH: El perfil del usuario ahora se mostrará de la siguiente manera:
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing",
        "addresses": {
            "home": "123 Main Street, Anytown, ST 12345"
        }
    },
    "app_metadata": {
        "plan": "full"
    }
}
Cuando envías una solicitud PATCH en la que estableces el valor de una propiedad en null (por ejemplo, {user_metadata: {color: null}}), Auth0 elimina de la base de datos la propiedad o su valor. Además, si aplicas un parche a los metadatos con un objeto vacío, los metadatos se eliminan por completo.

Combinar metadatos del usuario

Solo se combinan en el objeto las propiedades del nivel raíz. Todas las propiedades de niveles inferiores se reemplazan. Por ejemplo, para agregar la dirección de trabajo de un usuario como una subpropiedad adicional, tendría que incluir todo el contenido de la propiedad addresses. Dado que el objeto addresses es una propiedad del nivel raíz, se combinará en el objeto JSON final que representa al usuario, pero sus subpropiedades no.
{
  "user_metadata": {
    "addresses": {
      "home": "123 Main Street, Anytown, ST 12345",
      "work": "100 Industrial Way, Anytown, ST 12345"
    }
  }
}
Por lo tanto, la llamada PATCH correspondiente a la API sería:

Eliminar los metadatos del usuario

Puede eliminar user_metadata:
{
  "user_metadata": {}
}

Metadatos de la aplicación

Aplicar un parche a los metadatos con un objeto vacío los elimina por completo. Por ejemplo, enviar este cuerpo elimina todo lo que hay en app_metadata:
{
  "app_metadata": {}
}

Metadatos del cliente

Crear aplicaciones con metadatos del cliente

Se puede incluir un objeto clientMetadata al crear una aplicación nueva mediante el endpoint de aplicaciones POST /api/v2/.

Leer los metadatos del cliente

Los metadatos del cliente se incluyen en la respuesta de los endpoints GET /api/v2/clients y GET /api/v2/client/{id}.

Actualizar los metadatos del cliente

Los metadatos del cliente se pueden actualizar mediante el endpoint PATCH /api/v2/clients/{id}, proporcionando un objeto de aplicación con la propiedad clientMetadata property, cuyo valor es un objeto que contiene los metadatos que desea cambiar. Aplicación antes:
{
  ...
  "name": "myclient",
  "client_metadata": {
    "mycolor": "red",
    "myflavor": "grape"
  }
  ...
}
Solicitud: PATCH /api/v2/client/myclientid123 con el siguiente cuerpo:
{ "client_metadata": { "mycolor": "blue" } }
Aplicación después:
{
  "name": "myclient",
  "client_metadata": {
    "mycolor": "blue",
    "myflavor": "grape"
  }
  ...
}

Eliminar propiedades y valores de los metadatos del cliente

Las claves de los metadatos del cliente pueden eliminarse mediante una solicitud PATCH, como se describe en “Actualizar app_metadata” más arriba, pero asignando null al valor de la clave. Este comportamiento coincide con el de las propiedades user_metadata y app_metadata en el endpoint PATCH /api/v2/users/.

Más información