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

# Obtenir les renseignements de l’utilisateur

> Renvoie le profil d’un utilisateur à l’aide d’un Jeton d’accès Auth0 lorsque le scope `openid` a été accordé.

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Point de terminaison
</div>

`GET /userinfo`

À partir du Jeton d’accès Auth0 obtenu lors de la connexion, ce point de terminaison renvoie le profil d’un utilisateur. Ce point de terminaison fonctionne uniquement si le scope `openid` a été accordé pour le Jeton d’accès. Les renseignements de profil inclus dans la réponse dépendent des scopes demandés. Par exemple, un scope limité à `openid` peut renvoyer moins de renseignements qu’un scope de `openid profile email`.

<div id="remarks">
  ### Remarques
</div>

* L’exemple de script auth0.js utilise la version 8 de la bibliothèque. Si vous utilisez la version 7 d’auth0.js, veuillez consulter ce [guide de référence](https://auth0.com/docs/libraries/auth0js/v7).
* La méthode `parseHash` d’auth0.js exige que vos jetons soient signés avec `RS256` plutôt qu’avec `HS256`.
* Pour renvoyer `user_metadata` ou d’autres informations personnalisées à partir de ce point de terminaison, ajoutez une claim personnalisée à l’ID Token à l’aide d’une [Action](https://auth0.com/docs/secure/tokens/json-web-tokens/create-custom-claims#create-custom-claims). Pour en savoir plus, consultez [User profile claims and scope](https://auth0.com/docs/get-started/apis/scopes/openid-connect-scopes).
* Ce point de terminaison renvoie trois en-têtes de réponse HTTP qui fournissent des données utiles sur ses limites de débit :
  * `X-RateLimit-Limit` : nombre de requêtes autorisées par minute.
  * `X-RateLimit-Remaining` : nombre de requêtes disponibles. Chaque nouvelle requête réduit ce nombre de 1. À chaque minute qui passe, des requêtes sont de nouveau ajoutées, donc ce nombre augmente de 1 chaque fois.
  * `X-RateLimit-Reset` : temps restant avant la réinitialisation de la limite de débit (`X-RateLimit-Limit`). La valeur est exprimée en [secondes d’époque UTC](https://en.wikipedia.org/wiki/Unix_time).
* La claim `Email` renvoie un instantané du courriel au moment de la connexion.
* Les claims standard (autres que `email`) renvoient la valeur la plus récente (sauf si la valeur provient d’un IdP externe).
* Les claims personnalisées renvoient toujours la valeur la plus récente de la claim.
* Pour accéder aux valeurs les plus à jour de `email` ou des claims personnalisées, vous devez obtenir de nouveaux jetons. Vous pouvez vous connecter au moyen de l’authentification silencieuse (où le paramètre `prompt` de votre appel au point de terminaison [`authorize`](https://auth0.com/docs/api/authentication#authorization-code-grant) est égal à `none`).
* Pour accéder aux valeurs les plus à jour des claims standard qui ont été modifiées au moyen d’un IdP externe (par exemple, si l’utilisateur a changé son adresse courriel dans Facebook), vous devez obtenir de nouveaux jetons. Connectez-vous de nouveau à l’aide de l’IdP externe, mais *pas* avec l’authentification silencieuse.

<div id="learn-more">
  ### En savoir plus
</div>

* [Référence Auth0.js v8 : extraire authResult et obtenir les informations sur l’utilisateur](https://auth0.com/docs/libraries/auth0js#extract-the-authresult-and-get-user-info)
* [Politique de limitation du nombre de requêtes de l’API Auth0](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy)

<div id="headers">
  ## En-têtes
</div>

<ParamField header="access_token" type="string" required />

<ParamField header="DPoP" type="string">
  Une preuve DPoP pour la requête. Ce paramètre est facultatif et n’est requis que si votre application utilise Demonstrating Proof-of-Possession.
</ParamField>

<div id="response-schema">
  ## Schéma de réponse
</div>

<ResponseSchema>
  <ResponseField name="sub" type="string">
    L’identifiant unique de l’utilisateur.
  </ResponseField>

  <ResponseField name="name" type="string">
    Le nom complet de l’utilisateur.
  </ResponseField>

  <ResponseField name="given_name" type="string">
    Le prénom de l’utilisateur.
  </ResponseField>

  <ResponseField name="family_name" type="string">
    Le nom de famille de l’utilisateur.
  </ResponseField>

  <ResponseField name="middle_name" type="string">
    Le deuxième prénom de l’utilisateur.
  </ResponseField>

  <ResponseField name="nickname" type="string">
    Le surnom de l’utilisateur.
  </ResponseField>

  <ResponseField name="preferred_username" type="string">
    Le nom d’utilisateur privilégié de l’utilisateur.
  </ResponseField>

  <ResponseField name="profile" type="string">
    URL de la page de profil de l’utilisateur.
  </ResponseField>

  <ResponseField name="picture" type="string">
    URL de la photo de profil de l’utilisateur.
  </ResponseField>

  <ResponseField name="website" type="string">
    URL du site Web de l’utilisateur.
  </ResponseField>

  <ResponseField name="email" type="string">
    L’adresse de courriel de l’utilisateur.
  </ResponseField>

  <ResponseField name="email_verified" type="boolean">
    Indique si l’adresse de courriel de l’utilisateur a été vérifiée.
  </ResponseField>

  <ResponseField name="gender" type="string">
    Le genre de l’utilisateur.
  </ResponseField>

  <ResponseField name="birthdate" type="string">
    La date de naissance de l’utilisateur.
  </ResponseField>

  <ResponseField name="zoneinfo" type="string">
    Le fuseau horaire de l’utilisateur.
  </ResponseField>

  <ResponseField name="locale" type="string">
    Le paramètre régional de l’utilisateur.
  </ResponseField>

  <ResponseField name="phone_number" type="string">
    Le numéro de téléphone de l’utilisateur.
  </ResponseField>

  <ResponseField name="phone_number_verified" type="boolean">
    Indique si le numéro de téléphone de l’utilisateur a été vérifié.
  </ResponseField>

  <ResponseField name="address" type="object">
    L’adresse de l’utilisateur.
  </ResponseField>

  <ResponseField name="updated_at" type="integer">
    La date et l’heure de la dernière mise à jour des renseignements de l’utilisateur, en temps Unix.
  </ResponseField>
</ResponseSchema>

<div id="response-messages">
  ## Messages de réponse
</div>

| Statut | Description                                        |
| ------ | -------------------------------------------------- |
| 200    | Profil de l’utilisateur récupéré avec succès.      |
| 401    | Non autorisé : jeton d’accès invalide ou manquant. |
