> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-init-gt-translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Schéma des attributs du profil utilisateur Auth0

> Consultez la référence des attributs du profil utilisateur Auth0, y compris les exigences de validation et la prise en charge de fonctionnalités comme la recherche et l’upsert.

Le profil utilisateur normalisé d’Auth0 comprend les attributs suivants. Chaque attribut indique s’il est pris en charge pour la [recherche](/docs/fr-ca/manage-users/user-search), la [mise à jour](https://auth0.com/docs/api/management/guides/users/update-root-attributes-users), l’[importation](/docs/fr-ca/manage-users/user-migration/bulk-user-imports), l’[upsert](/docs/fr-ca/manage-users/user-migration/bulk-user-imports#request-bulk-import) et l’[exportation](/docs/fr-ca/manage-users/user-migration/bulk-user-exports).

<div id="user-profile-attributes">
  ## Attributs du profil utilisateur
</div>

Pour les connexions de base de données Auth0, tous les caractères sont convertis en minuscules lors de leur enregistrement dans le profil utilisateur. Lorsque le répertoire d’utilisateurs d’Auth0 n’est pas utilisé (par exemple, pour des connexions de base de données personnalisées dont le mode importation est désactivé, ou pour d’autres types de connexion), l’adresse courriel est conservée telle quelle, sans être convertie en minuscules.

<ResponseField name="app_metadata" type="object" post={["search", "update", "import", "upsert", "export"]}>
  Champs personnalisés qui stockent des renseignements sur un utilisateur et influencent son accès, comme son forfait d’assistance, ses rôles de sécurité (si vous n’utilisez pas l’ensemble de fonctionnalités Authorization Core) ou ses groupes de contrôle d’accès. Pour en savoir plus, consultez [Présentation des métadonnées](/docs/fr-ca/manage-users/user-accounts/metadata).
</ResponseField>

<ResponseField name="blocked" type="boolean" post={["search", "update", "import", "export"]}>
  Indique si l’utilisateur a été bloqué. L’importation permet aux abonnés de veiller à ce que les utilisateurs demeurent bloqués lors de la migration vers Auth0.
</ResponseField>

<ResponseField name="blocked_for" type="object[]" post={[]}>
  Adresses IP bloquées en raison d’une suspicion d’attaque par force brute.
</ResponseField>

<ResponseField name="created_at" type="date time" post={["search", "export"]}>
  Horodatage indiquant la date de création initiale du profil utilisateur.
</ResponseField>

<ResponseField name="email" type="string" post={["search", "update", "import", "export"]}>
  (unique) L’adresse courriel de l’utilisateur.

  La longueur maximale de la partie locale de l’adresse est de 64 caractères. L’adresse courriel complète (partie locale, `@` et domaine réunis) ne peut pas dépasser 254 caractères. Cette valeur est validée par le [schéma de validation JSON](https://json-schema.org/understanding-json-schema/reference/type#email-addresses).
</ResponseField>

<ResponseField name="email_verified" type="boolean" post={["search", "update", "import", "upsert", "export"]}>
  Indique si l’utilisateur a vérifié son adresse courriel.
</ResponseField>

<ResponseField name="family_name" type="string" post={["search", "update", "import", "upsert", "export"]}>
  Le nom de famille de l’utilisateur.

  Sa longueur peut être de 1 à 150 caractères et il peut contenir n’importe quel caractère UTF-8.
</ResponseField>

<ResponseField name="given_name" type="string" post={["search", "update", "import", "upsert", "export"]}>
  Le prénom de l’utilisateur.

  Sa longueur peut être de 1 à 150 caractères et il peut contenir n’importe quel caractère UTF-8.
</ResponseField>

<ResponseField name="guardian_authenticators" type="object[]" post={[]}>
  Renseignements détaillés sur les méthodes d’autorisation de secours Guardian configurées par l’utilisateur, y compris les SMS et les codes de récupération.
</ResponseField>

<ResponseField name="identities" type="object[]" post={["search", "export"]}>
  Contient des renseignements récupérés auprès du fournisseur d’identité auprès duquel l’utilisateur s’authentifie initialement. Les utilisateurs peuvent aussi [lier leur profil à plusieurs fournisseurs d’identité](/docs/fr-ca/manage-users/user-accounts/user-account-linking) ; ces identités apparaîtront alors également dans ce tableau. Le contenu d’un objet de fournisseur d’identité varie selon le fournisseur, mais comprend généralement les éléments suivants :

  * `connection` (texte) : Nom de la connexion Auth0 utilisée pour authentifier l’utilisateur.
  * `isSocial` (booléen) : Indique si la connexion est de type Social.
  * `provider` (texte) : Nom de l’entité qui authentifie l’utilisateur, comme Facebook, Google, SAML ou votre propre fournisseur.
  * `user_id` (texte) : Identifiant unique de l’utilisateur pour cette connexion ou ce fournisseur.
  * `profileData` (objet) : Renseignements sur l’utilisateur associés à la connexion. Lorsque des profils sont liés, ce champ contient les renseignements associés aux comptes secondaires.

  Dans certains cas, il comprend également un jeton d’accès API à utiliser avec le fournisseur.
</ResponseField>

<ResponseField name="last_ip" type="string" post={["search", "export"]}>
  Adresse IP associée à la dernière connexion de l’utilisateur.
</ResponseField>

<ResponseField name="last_login" type="date time" post={["search", "export"]}>
  Horodatage indiquant la dernière connexion de l’utilisateur. Si un utilisateur bloqué se connecte, la session bloquée met à jour `last_login`. Si vous utilisez cette propriété dans une [Rule](/docs/fr-ca/customize/rules) au moyen de l’objet `user<`, sa valeur sera associée à la connexion qui a déclenché la règle, car les règles s’exécutent après la connexion.
</ResponseField>

<ResponseField name="last_password_reset" type="date time" post={["export"]}>
  Horodatage indiquant la dernière réinitialisation ou modification du mot de passe de l’utilisateur. Ce champ n’existe pas lors de la création de l’utilisateur. Cette propriété est disponible uniquement pour les connexions de base de données.
</ResponseField>

<ResponseField name="logins_count" type="integer" post={["search", "export"]}>
  Nombre de fois où l’utilisateur s’est connecté. Si un utilisateur bloqué se connecte, la session bloquée est comptabilisée dans `logins_count`.
</ResponseField>

<ResponseField name="multifactor" type="string[]" post={["export"]}>
  Liste des fournisseurs d’authentification multifacteur auxquels l’utilisateur est inscrit.
</ResponseField>

<ResponseField name="multifactor_last_modified" type="date time" post={["export"]}>
  Date et heure de la dernière mise à jour de l’authentification multifacteur d’un utilisateur.
</ResponseField>

<ResponseField name="name" type="string" post={["search", "update", "import", "upsert", "export"]}>
  Nom complet de l’utilisateur.

  Peut contenir de 1 à 150 caractères UTF-8.
</ResponseField>

<ResponseField name="nickname" type="string" post={["search", "update", "import", "upsert", "export"]}>
  Surnom de l’utilisateur.

  Peut contenir de 1 à 350 caractères UTF-8.
</ResponseField>

<ResponseField name="phone_number" type="string" post={["search", "update", "export"]}>
  Numéro de téléphone de l’utilisateur. Valide uniquement pour les utilisateurs ayant des connexions SMS.

  Les numéros de téléphone doivent être au format E.164 et sont validés à l’aide de l’expression régulière `^\+[0-9]{1,15}$`.
</ResponseField>

<ResponseField name="phone_verified" type="boolean" post={["search", "update", "export"]}>
  Indique si le numéro de téléphone de l’utilisateur a été vérifié. Valide uniquement pour les utilisateurs ayant des connexions SMS.
</ResponseField>

<ResponseField name="picture" type="string" post={["update", "import", "upsert", "export"]}>
  URL pointant vers [la photo de profil de l’utilisateur](/docs/fr-ca/manage-users/user-accounts/change-user-picture).
</ResponseField>

<ResponseField name="tenant" type="string" post={[]}>
  Nom du tenant utilisé.
</ResponseField>

<ResponseField name="updated_at" type="date time" post={["search", "export"]}>
  Horodatage indiquant la date de la dernière mise à jour ou modification du profil de l’utilisateur. Les modifications apportées à `last_login` sont considérées comme des mises à jour; la plupart du temps, `updated_at` correspond donc à `last_login`.
</ResponseField>

<ResponseField name="user_id" type="string" post={["search", "import", "export"]}>
  (unique) Identifiant de l’utilisateur. L’importation permet de synchroniser les enregistrements d’utilisateurs entre plusieurs systèmes sans utiliser de tables de mappage.
</ResponseField>

<ResponseField name="user_metadata" type="object" post={["search", "update", "import", "upsert", "export"]}>
  Champs personnalisés qui stockent des renseignements sur un utilisateur sans avoir d’incidence sur les ressources auxquelles il peut accéder, comme son adresse professionnelle, son adresse personnelle ou ses préférences. Pour en savoir plus, consultez [Aperçu des métadonnées](/docs/fr-ca/manage-users/user-accounts/metadata).
</ResponseField>

<ResponseField name="username" type="string" post={["search", "update", "import", "export"]}>
  (unique) Nom d’utilisateur de l’utilisateur.

  Par défaut, les noms d’utilisateur peuvent compter de 1 à 15 caractères, jusqu’à un maximum de 128 caractères. Le champ de nom d’utilisateur accepte les caractères alphanumériques sans accent, qui sont automatiquement convertis en minuscules, ainsi que les caractères spéciaux suivants :

  * arobase, `@`, mais les adresses courriel ne sont pas autorisées
  * accent grave, <code>\`</code>
  * accent circonflexe, `^`
  * signe dollar, `$`
  * point d’exclamation, `!`
  * signe moins, `-`
  * dièse, `#`
  * point, `.`
  * signe plus, `+`
  * apostrophe, `'`
  * tilde, `~`
  * trait de soulignement, `_`

  Aucun autre caractère ni symbole n’est autorisé, et Auth0 ne valide ni n’assainit les entrées de bases de données personnalisées.
</ResponseField>

<div id="password-validation">
  ## Validation du mot de passe
</div>

Auth0 accepte un schéma de validation précis pour les mots de passe :

* `password` : La longueur minimale du mot de passe que vous pouvez définir est de 1 octet, tandis que la longueur maximale est de 72 octets. Les mots de passe prennent en charge les caractères ASCII dans la plage 33 à 126.

* `password_hash` (texte) : Mot de passe haché pour la connexion de l’utilisateur. Lors de la création des utilisateurs, [Auth0 utilise bcrypt](https://auth0.com/blog/hashing-in-action-understanding-bcrypt/) pour sécuriser le mot de passe. L’importation de mots de passe hachés compatibles permet aux utilisateurs de conserver leur mot de passe, offrant ainsi une expérience plus fluide. Les mots de passe compatibles doivent être hachés avec bcrypt `{"$2a$"}` ou `{"$2b$"}` et utiliser 10 `saltRounds`. Vous ne pouvez fournir ce champ que lors de la première importation de l’utilisateur; vous ne pourrez pas le mettre à jour par la suite.

* `custom_password_hash` (objet) : Mot de passe haché pour la connexion de l’utilisateur lorsqu’il est créé à l’aide d’un algorithme différent. Utilisé à la place du champ `password_hash`. Pendant le processus d’importation en bloc, vous pouvez mettre à jour `custom_password_hash` si l’utilisateur ne s’est pas connecté au moyen du `custom_password_hash` importé initialement.

<div id="user-profile-examples">
  ## Exemples de profils utilisateur
</div>

<AccordionGroup>
  <Accordion title="Exemple de profil utilisateur Google">
    Voici un exemple de profil utilisateur pour un utilisateur qui s’est connecté avec Google :

    ```json theme={null}
    {
      "email": "johnfoo@gmail.com",
      "email_verified": true,
      "family_name": "Foo",
      "gender": "male",
      "given_name": "John",
      "identities": [
        {
          "provider": "google-oauth2",
          "user_id": "103547991597142817347",
          "connection": "google-oauth2",
          "isSocial": true
        }
      ],
      "locale": "en",
      "name": "John Foo",
      "nickname": "FooJon",
      "picture": "https://lh4.googleusercontent.com/-OdsbOXom9qE/AAAAAAAAAAI/AAAAAAAAADU/_j8SzYTOJ4I/photo.jpg",
      "user_id": "google-oauth2|103547991597142817347"
    }
    ```
  </Accordion>

  <Accordion title="Exemple de profil utilisateur Microsoft Account">
    Voici un exemple de profil provenant de Microsoft Account :

    ```json lines theme={null}
    {
      "email": "bobdoe@outlook.com",
      "email_verified": true,
      "emails": [
        "bobdoe@outlook.com",
        "bobdoe@outlook.com"
      ],
      "family_name": "Doe",
      "given_name": "Bob",
      "identities": [
        {
          "provider": "windowslive",
          "user_id": "4cf0a30169d55031",
          "connection": "windowslive",
          "isSocial": true
        }
      ],
      "locale": "en_US",
      "name": "Bob Doe",
      "nickname": "doebob@outlook.com",
      "picture": "https://secure.gravatar.com/avatar/c89b2bb92df91508e14172097a5e17da?s=480&r=pg&d=https%3A%2F%2Fssl.gstatic.com%2Fs2%2Fprofiles%2Fimages%2Fsilhouette80.png",
      "user_id": "windowslive|4cf0a30169d55031"
    }
    ```
  </Accordion>

  <Accordion title="Exemple de profil utilisateur Office 365">
    Voici un exemple de profil provenant d’Office 365 (Microsoft Azure Active Directory) :

    ```json theme={null}
    {
      "email": "jeff@foo.onmicrosoft.com",
      "family_name": "Jeff",
      "given_name": "Beth",
      "identities": [
        {
          "user_id": "10030000838D23AF@MicrosoftOnline.com",
          "provider": "office365",
          "connection": "foo-onmicrosoft",
          "isSocial": false
        }
      ],
      "name": "Jeff Beth",
      "nickname": "jeff@auth0.onmicrosoft.com",
      "picture": "https://secure.gravatar.com/avatar/a7f86ddd090d5a4cb833b97baab2aca1?s=480&r=pg&d=https%3A%2F%2Fssl.gstatic.com%2Fs2%2Fprofiles%2Fimages%2Fsilhouette80.png",
      "tenantid": "75696069-df44-4310-9bcf-08b45e3007c9",
      "upn": "jeff@foo.onmicrosoft.com",
      "user_id": "office365|10030000838D23AF@MicrosoftOnline.com"
    }
    ```
  </Accordion>

  <Accordion title="Exemple de profil utilisateur ADFS">
    Voici un exemple de profil provenant d’ADFS (Active Directory Federation Services) :

    ```json theme={null}
    {
      "email": "john@fabrikam.com",
      "family_name": "Fabrikam",
      "email_verified": false,
      "given_name": "John",
      "identities": [
        {
          "user_id": "john@fabrikam.com",
          "provider": "adfs",
          "connection": "auth10.com",
          "isSocial": false
        }
      ],
      "issuer": "https://adfs.fabrikam.com",
      "name": "John Fabrikam",
      "nickname": "john",
      "picture": "https://secure.gravatar.com/avatar/5426f6b9d63ad92d60e6fe9fdf83aa21?s=480&r=pg&d=https%3A%2F%2Fssl.gstatic.com%2Fs2%2Fprofiles%2Fimages%2Fsilhouette80.png",
      "user_id": "adfs|john@fabrikam.com"
    }
    ```
  </Accordion>
</AccordionGroup>
