> ## 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.

> Découvrez comment utiliser les requêtes d’autorisation poussées (PAR) avec le flux de code d’autorisation.

# Flux de code d’autorisation avec les requêtes d’autorisation poussées (PAR)

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Pour utiliser les fonctionnalités Highly Regulated Identity, vous devez disposer d’un forfait Enterprise avec le module complémentaire Highly Regulated Identity. Consultez [Auth0 Pricing](https://auth0.com/pricing/) pour en savoir plus.
</Callout>

La fonctionnalité [Pushed Authorization Request (PAR)](https://datatracker.ietf.org/doc/html/rfc9126) est un protocole côté serveur qui permet d’acheminer directement les requêtes d’autorisation vers le <Tooltip tip="Serveur d’autorisation : serveur centralisé qui contribue à définir les limites de l’accès d’un utilisateur. Par exemple, votre serveur d’autorisation peut contrôler les données, les tâches et les fonctionnalités accessibles à un utilisateur." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=authorization+server">serveur d’autorisation</Tooltip>. Il s’agit d’un composant technique du [profil de sécurité Financial-Grade API (FAPI) 1.0](https://openid.net/specs/openid-financial-api-part-2-1_0.html), conçu pour protéger les API dans des contextes à haute valeur.

<div id="how-it-works">
  ## Fonctionnement
</div>

PAR permet à votre application de transmettre directement au point de terminaison PAR du serveur d’autorisation **(1)** les paramètres des requêtes d’autorisation <Tooltip tip="OAuth 2.0 : cadre d’autorisation qui définit les protocoles et les flux d’autorisation." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=OAuth+2.0">OAuth 2.0</Tooltip>. En réponse, le serveur d’autorisation renvoie une valeur d’URI de requête, `request_uri` **(2)**, à utiliser lorsque vous appelez le point de terminaison `/authorize` **(3)**. Le `request_uri` est une référence aux requêtes d’autorisation stockées au point de terminaison `/par`, de sorte qu’elles ne sont pas exposées **(4)**. Pour en savoir plus, consultez [Configurer les requêtes d’autorisation poussées](/fr-CA/docs/get-started/applications/configure-par).

<Frame>
  <img src="https://mintcdn.com/translations/6GE5Z24GDCZehiJ9/docs/images/cdy7uua7fh8z/6ivWNzZR7pnV79AXtjhJca/ad707b701d2a6d8b965ca3afe8846868/Template_for_Docs_-_Authorization_Code_Flow_with_PAR.png?fit=max&auto=format&n=6GE5Z24GDCZehiJ9&q=85&s=8bafb3103b84f8a0c3d6b5476bbd0dc5" alt="" width="1500" height="1000" data-path="docs/images/cdy7uua7fh8z/6ivWNzZR7pnV79AXtjhJca/ad707b701d2a6d8b965ca3afe8846868/Template_for_Docs_-_Authorization_Code_Flow_with_PAR.png" />
</Frame>

<div id="benefits">
  ## Avantages
</div>

L’un des avantages de PAR est la validation précoce. Dans d’autres flux OAuth 2.0, comme le [flux de code d’autorisation](/fr-CA/docs/get-started/authentication-and-authorization-flow/authorization-code-flow), les utilisateurs finaux sont redirigés vers le serveur d’autorisation pour la validation. Avec PAR, les paramètres de la requête sont validés dès le début de la requête d’autorisation, avant que l’utilisateur final soit redirigé. Il n’est pas souhaitable de rediriger les utilisateurs uniquement pour leur afficher une page d’erreur.

PAR transmet également les requêtes d’autorisation par le back-channel. Les communications en front-channel reposent sur un intermédiaire (p. ex. un navigateur) au moyen de paramètres de requête HTTPS ajoutés (GET, POST). Les messages ne sont pas envoyés directement. Les communications en back-channel sont transmises dans le corps d’une requête backend authentifiée, pour une approche plus directe.

Les requêtes d’autorisation poussées transitent par le back-channel, ce qui signifie :

* Le serveur d’autorisation peut se fier à la provenance de la requête, et les requêtes n’ont pas été modifiées par un utilisateur final.
* Les détails de la requête ne sont pas exposés dans la barre d’adresse du navigateur ni dans l’historique, ce qui préserve la confidentialité à cette étape du processus.
* Les restrictions liées à la longueur des URL ne posent pas de contrainte.

<div id="limitations">
  ## Limitations
</div>

* La taille maximale du payload de la requête est de 10 KB.
* Les applications publiques ne sont pas prises en charge pour le moment. Pour en savoir plus, consultez [Public and Confidential Applications](/fr-CA/docs/get-started/applications/confidential-and-public-applications).

<div id="call-the-par-endpoint">
  ## Appelez le point de terminaison PAR
</div>

<div id="requirements">
  ### Exigences
</div>

Pour appeler le point de terminaison PAR, vous devez :

* Définir le type de contenu de la requête à `application/x-www-form-urlencoded`.
* Utiliser des chaînes pour tous les paramètres transmis.
* Inclure dans la requête un paramètre supplémentaire pour la méthode d’authentification de l’application. Seules les <Tooltip tip="Application confidentielle : application pouvant conserver des identifiants de façon sécurisée à l’aide d’un serveur principal de confiance. Par exemple, une application Web avec un serveur principal sécurisé et une application machine à machine (M2M)." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=confidential+clients">applications confidentielles</Tooltip> prennent en charge PAR; les [méthodes d’authentification de l’application](https://auth0.com/docs/api/authentication#authentication-methods) suivantes sont donc disponibles : <Tooltip tip="Secret client : secret utilisé par une application pour s’authentifier auprès du serveur d’autorisation; il ne doit être connu que de l’application et du serveur d’autorisation et doit être suffisamment aléatoire pour ne pas pouvoir être deviné." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=Client+Secret">Secret client</Tooltip>, <Tooltip tip="Secret client : secret utilisé par une application pour s’authentifier auprès du serveur d’autorisation; il ne doit être connu que de l’application et du serveur d’autorisation et doit être suffisamment aléatoire pour ne pas pouvoir être deviné." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=JWT">JWT</Tooltip> à clé privée et mTLS. Vous devez utiliser la même méthode d’authentification de l’application pour le point de terminaison `/token` lorsque vous récupérez un <Tooltip tip="Jeton d’accès : identifiant d’autorisation, sous la forme d’une chaîne opaque ou d’un JWT, utilisé pour accéder à une API." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=access+token">jeton d’accès</Tooltip>.

<div id="supported-parameters">
  ### Paramètres pris en charge
</div>

Le point de terminaison PAR stocke et traite uniquement :

* Les paramètres OAuth 2.0 standard et les extensions applicables, reconnus au point de terminaison d’autorisation.
* Jusqu’à 10 paramètres d’autorisation personnalisés préfixés par `ext-`.

PAR ignore les paramètres d’autorisation personnalisés additionnels. Les paramètres d’autorisation personnalisés ne sont pas disponibles dans [Auth0 Actions](/fr-CA/docs/customize/actions) ni dans les [journaux](/fr-CA/docs/deploy-monitor/logs).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Si vous utilisez des paramètres d’autorisation personnalisés dans Actions, vous devez les préfixer par `ext-`. Sinon, ils ne seront pas disponibles.
</Callout>

<div id="example-par-request">
  ### Exemple de requête PAR
</div>

```bash lines theme={null}
curl --location --request POST https://$tenant/oauth/par \
  -H "content-type: application/x-www-form-urlencoded" \
  -d "client_id=CLIENT_ID"\
"&client_secret=CLIENT_SECRET"\
"&redirect_uri=https://jwt.io"\
"&audience=urn:my-notes-api"\
"&scope=openid%20profile%20read:notes"\
"&response_type=code"
```

<div id="example-par-response">
  ### Exemple de réponse PAR
</div>

Dans l’exemple de réponse PAR suivant :

* Le `request_uri` est une référence aux requêtes d’autorisation stockées. Les valeurs de la requête sont transmises au point de terminaison GET `/authorize` sous forme de paramètre `request_uri`.
* Le `expires_in` correspond au nombre de secondes pendant lesquelles le `request_uri` est valide. Passé ce délai, le `request_uri` expire s’il n’est pas utilisé. La durée d’expiration de trente secondes est une valeur statique et ne peut pas être configurée.

```json lines theme={null}
HTTP/1.1 201 Created
 Content-Type: application/json

 {
  "request_uri":
    "urn:ietf:params:oauth:request_uri:6esc_11ACC5bwc014ltc14eY22c",
  "expires_in": 30
 }
```

<div id="rate-limits">
  ### Limites de débit
</div>

Pour les locataires de production Essential, Professional et Enterprise, les appels au point de terminaison PAR sont inclus dans la limite de débit standard de l’Authentication API. Pour en savoir plus, consultez [Configurations des limites de débit](/fr-CA/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations), puis cliquez sur votre type d’abonnement. Cliquez ensuite sur **Authentication API**.

<div id="call-the-authorization-endpoint">
  ## Appeler le point de terminaison d’autorisation
</div>

Votre application utilise la valeur `request_uri` renvoyée par le point de terminaison `/oauth/par` dans la requête d’autorisation et redirige l’agent utilisateur vers le point de terminaison d’autorisation. Pour en savoir plus sur le paramètre `request_uri`, consultez [Configurer les requêtes d’autorisation poussées](/fr-CA/docs/get-started/applications/configure-par).

L’exemple suivant redirige l’agent utilisateur pour qu’il effectue la requête HTTP suivante :

```http wrap lines theme={null}
GET /authorize?client_id=CLIENT_ID&request_uri=urn%3Aietf%3Aparam...qrwSI HTTP/1.1 Host: TENANT.auth0.com
```

Si `request_uri` est valide, le reste du <Tooltip tip="Flux d’autorisation : grant d’autorisation (ou flux de travail) spécifié dans le cadre OAuth 2.0." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=authorization+flow">flux d’autorisation</Tooltip> est le même.

<div id="validation">
  ### Validation
</div>

* PAR est de nouveau validé par le serveur d’autorisation à cette étape, comme toute autre demande d’autorisation.
* La valeur `request_uri` ne peut être utilisée qu’une seule fois.
* Un `request_uri` expiré sera rejeté par le serveur d’autorisation.
* Une demande sans PAR est rejetée si PAR est requis au niveau du locataire ou de l’application.

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

* [Configurer les requêtes d’autorisation poussées (PAR)](/fr-CA/docs/get-started/applications/configure-par)
