Passer au contenu principal

Métadonnées utilisateur

Créer des métadonnées utilisateur

Pour créer un utilisateur avec les informations de profil suivantes :
{
    "email": "jane.doe@example.com",
    "user_metadata": {
        "hobby": "surfing"
    },
    "app_metadata": {
        "plan": "full"
    }
}
Effectuez l’appel POST suivant vers le endpoint /post_users pour créer l’utilisateur et définir les valeurs des propriétés :

Mettre à jour les métadonnées utilisateur

Vous pouvez mettre à jour les métadonnées d’un utilisateur en effectuant un appel PATCH vers le endpoint /patch_users_by_id de la 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"
    }
}
Pour mettre à jour user_metadata et ajouter l’adresse résidentielle de l’utilisateur comme propriété de second niveau :
{
    "addresses": {
        "home": "123 Main Street, Anytown, ST 12345"
    }
}
Vous feriez la requête PATCH suivante : Le profil de l’utilisateur se présentera désormais comme suit :
{
    "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 définissez la valeur d’une propriété à null (par exemple, {user_metadata: {color: null}}), Auth0 supprime la paire propriété/valeur de la base de données. De plus, si vous appliquez un PATCH aux métadonnées elles-mêmes avec un objet vide, les métadonnées sont entièrement supprimées.

Fusionner les métadonnées utilisateur

Seules les propriétés à la racine sont fusionnées dans l’objet. Toutes les propriétés de niveau inférieur sont remplacées. Par exemple, pour ajouter l’adresse professionnelle d’un utilisateur comme sous-propriété supplémentaire, vous devez inclure le contenu complet de la propriété addresses. Comme l’objet addresses est une propriété à la racine, il sera fusionné dans l’objet JSON final représentant l’utilisateur, mais pas ses sous-propriétés.
{
  "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 le suivant :

Supprimer les métadonnées utilisateur

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

Métadonnées d’application

Modifier les métadonnées à l’aide d’un objet vide les supprime complètement. Par exemple, l’envoi de ce corps de requête supprime tout le contenu de app_metadata :
{
  "app_metadata": {}
}

Métadonnées de l’application

Créer des applications avec des métadonnées d’application

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

Consulter les métadonnées de l’application

Les métadonnées de l’application figurent dans la réponse des points de terminaison GET /api/v2/clients et GET /api/v2/client/{id}.

Mettre à jour les métadonnées de l’application

Les métadonnées de l’application peuvent être mises à jour à l’aide de l’endpoint PATCH /api/v2/clients/{id}, en fournissant un objet d’application avec la propriété clientMetadata, dont la valeur est 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 le corps suivant :
{ "client_metadata": { "mycolor": "blue" } }
Application après :
{
  "name": "myclient",
  "client_metadata": {
    "mycolor": "blue",
    "myflavor": "grape"
  }
  ...
}

Supprimer des propriétés et des valeurs de métadonnées d’application

Les clés de métadonnées d’application peuvent être supprimées au moyen d’une requête PATCH, comme indiqué dans « Update app_metadata » ci-dessus, en fournissant toutefois null comme valeur de clé. Ce comportement correspond à celui des propriétés user_metadata et app_metadata de l’endpoint PATCH /api/v2/users/.

En savoir plus