Passer au contenu principal

Métadonnées de l’utilisateur

Créer les métadonnées de l’utilisateur

Pour créer un utilisateur avec les détails de profil suivants :
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing"
    },
    "app_metadata": {
        "plan": "full"
    }
}
Effectuez l’appel POST suivant au point de terminaison /post_users pour créer l’utilisateur et définir les valeurs des propriétés :
curl --request POST \
  --url 'https://{yourDomain}/api/v2/users' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"email": "jane.doe@example.com", "user_metadata": {"hobby": "surfing"}, "app_metadata": {"plan": "full"}}'

Mettre à jour les métadonnées d’un utilisateur

Vous pouvez mettre à jour les métadonnées d’un utilisateur en effectuant un appel PATCH au point de terminaison /patch_users_by_id de Management API. Supposons que vous ayez créé un utilisateur avec les valeurs de métadonnées suivantes :
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing"
    },
    "app_metadata": {
        "plan": "full"
    }
}
To update user_metadata and add the user’s home address as a second-level property:
{
    "addresses": {
        "home": "123 Main Street, Anytown, ST 12345"
    }
}
Vous feriez l’appel PATCH suivant :
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/users/user_id' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"user_metadata": {"addresses": {"home": "123 Main Street, Anytown, ST 12345"}}}'
The user’s profile will now appear as follows:
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing",
        "addresses": {
            "home": "123 Main Street, Anytown, ST 12345"
        }
    },
    "app_metadata": {
        "plan": "full"
    }
}
Lorsque vous envoyez un appel PATCH dans lequel vous avez défini la valeur d’une propriété sur null (par exemple, {user_metadata: {color: null}}), Auth0 supprime la propriété/valeur de la base de données. De plus, le correctif des métadonnées avec un objet vide supprime complètement les métadonnées.

Fusionner les métadonnées de l’utilisateur

Seules les propriétés du niveau racine sont fusionnées dans l’objet. Toutes les propriétés de niveau inférieur seront remplacées. For example, to add a user’s work address as an additional inner property, you would have to include the complete contents of the addresses property. Since the addresses object is a root-level property, it will be merged into the final JSON object representing the user, but its sub-properties will not.
{
  "user_metadata": {
    "addresses": {
      "home": "123 Main Street, Anytown, ST 12345",
      "work": "100 Industrial Way, Anytown, ST 12345"
    }
  }
}
Par conséquent, l’appel PATCH correspondant à l’API serait :
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/users/user_id' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"user_metadata": {"addresses": {"home": "123 Main Street, Anytown, ST 12345", "work": "100 Industrial Way, Anytown, ST 12345"}}}'

Supprimer les métadonnées de l’utilisateur

Vous pouvez supprimer les user_metadata :
{
  "user_metadata": {}
}

Métadonnées d’application

Corriger les métadonnées avec un objet vide supprime entièrement celles-ci. Par exemple, l’envoi de ce corps supprime tout ce qui se trouve dans les app_metadata :
{
  "app_metadata": {}
}

Métadonnées client

Créer des applications avec les métadonnées client

Un objet clientMetadata peut être inclus lors de la création d’une nouvelle application via le point de terminaison d’applications POST /api/v2/.

Lectures des métadonnées client

Les métadonnées client sont incluses dans la réponse aux points de terminaison GET /api/v2/clients et GET /api/v2/client/{id}.

Mettre à jour les métadonnées client

Les métadonnées client peuvent être mises à jour en utilisant le point de terminaison PATCH /api/v2/clients/{id}, en fournissant un objet d’application avec la propriété clientMetadata property, dont la valeur consiste en un objet contenant les métadonnées que vous souhaitez modifier. Application avant :
{
  ...
  "name": "myclient",
  "client_metadata": {
    "mycolor": "red",
    "myflavor": "grape"
  }
  ...
}
Requête : PATCH /api/v2/client/myclientid123 avec corps :
{ "client_metadata": { "mycolor": "blue" } }
Application après :
{
  "name": "myclient",
  "client_metadata": {
    "mycolor": "blue",
    "myflavor": "grape"
  }
  ...
}

Supprimer les propriétés et les valeurs des métadonnées client

Les clés de métadonnées client peuvent être supprimées en émettant un PATCH, comme décrit dans « Mettre à jour les métadonnées de l’application » ci-dessus, mais en fournissant null pour la valeur de la clé. Ce comportement correspond à celui des propriétés user_metadata et app_metadata du point de terminaison PATCH/api/v2/users/.

En savoir plus

I