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

> Configurez Brute-force protection et Suspicious IP Throttling pour l’Échange de jetons personnalisé afin de bloquer les jetons du sujet non valides avant qu’ils n’atteignent votre application.

# Attack Protection avec Custom Token Exchange

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "bêta",
    "ea": "Accès anticipé"
  };
  const stageText = stageTextMap[stage] || "une phase de lancement du produit";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Cette fonctionnalité est offerte avec les forfaits {linkify(`${plans}`, "https://auth0.com/pricing")}. </>}
            {contact && "Pour y participer, communiquez avec " + contact + ". "}
            {terms && <>En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} d’Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La fonctionnalité {feature} est en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Échange de jetons personnalisé (CTE)" stage="ea" plans="B2C Professional, B2B Professional et Enterprise" terms="true" />

Pour vous protéger contre l’usurpation et les attaques par rejeu, qui correspondent à des tentatives non autorisées de compromettre ou de réutiliser un `subject_token`, l’Échange de jetons personnalisé prend en charge la [Suspicious IP Throttling](/docs/fr-ca/secure/attack-protection/suspicious-ip-throttling). Vous pouvez ainsi indiquer dans votre code Actions qu’un jeton de sujet n’est pas valide, ce qui permet à Auth0 de comptabiliser le nombre de tentatives échouées envoyées depuis cette adresse IP externe.

Lorsque le nombre de tentatives échouées provenant d’une adresse IP atteint un seuil préconfiguré, Auth0 bloque le trafic d’une requête d’Échange de jetons personnalisé provenant de cette IP et renvoie l’erreur suivante :

```json lines theme={null}
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{
    "error": "too_many_attempts",
    "error_description": "We have detected suspicious login behavior and further attempts will be blocked. Please contact the administrator."
}
```

L’adresse IP peut recommencer à envoyer des requêtes après une période configurée.

Nous vous recommandons d’utiliser Suspicious IP Throttling pour tous les cas d’utilisation de l’échange de jeton personnalisé, surtout avec les applications natives et les applications monopage (SPA). Comme les applications non confidentielles, telles que les applications natives et les SPA, ne peuvent pas stocker de secrets de façon sécuritaire pour s’authentifier, les attaquants peuvent plus facilement réutiliser des jetons du sujet volés ou divulgués.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Pour mettre en œuvre la protection Suspicious IP Throttling, utilisez `api.access.rejectInvalidSubjectToken` dans votre code Actions chaque fois que le jeton du sujet reçu ne satisfait pas à une validation rigoureuse.
</Callout>

Suspicious IP Throttling est activé par défaut pour les tenants Auth0. Lorsqu’il est activé, les paramètres par défaut de l’échange de jeton personnalisé seront appliqués :

* Seuil : 10. Nombre maximal de tentatives échouées pour une adresse IP.
* Taux de limitation : 6 par heure. Une tentative supplémentaire sera autorisée toutes les 10 minutes, jusqu’à ce que le seuil soit rétabli.

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/47PB3OAci9fotSHFrCNBVn/1bafbaacbeb22a4d94eb78506ab89bb8/Screenshot_2025-02-03_at_4.44.29_PM.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=4282d5cd7fe55cb8e2df4e0ddc14ee88" alt="" width="1244" height="966" data-path="docs/images/cdy7uua7fh8z/47PB3OAci9fotSHFrCNBVn/1bafbaacbeb22a4d94eb78506ab89bb8/Screenshot_2025-02-03_at_4.44.29_PM.png" />
</Frame>

<div id="configure-suspicious-ip-throttling-for-custom-token-exchange">
  ## Configurer Suspicious IP Throttling pour échange de jeton personnalisé
</div>

Vous pouvez configurer un seuil personnalisé et un taux de limitation pour échange de jeton personnalisé à l’aide de la Management API.

Commencez par [obtenir un jeton de la Management API](/docs/fr-ca/secure/tokens/access-tokens/management-api-access-tokens#get-management-api-tokens) pour utiliser l’API. Ensuite, effectuez la requête `GET` suivante au [point de terminaison Get Suspicious IP Throttling settings](https://auth0.com/docs/api/management/v2/attack-protection/get-suspicious-ip-throttling) :

```bash lines theme={null}
curl --location 'https://{yourDomain}/api/v2/attack-protection/suspicious-ip-throttling' \
--header 'Authorization: Bearer <YOUR_MANAGEMENT_API_TOKEN>' \
```

Vous recevrez une réponse semblable à ce qui suit :

```json lines theme={null}
{
  "enabled": true,
  "shields": [
    "admin_notification",
    "block"
  ],
  "allowlist": [],
  "stage": {
    "pre-login": {
      "max_attempts": 100,
      "rate": 864000
    },
    "pre-user-registration": {
      "max_attempts": 50,
      "rate": 1200
    },
    "pre-custom-token-exchange": {
      "max_attempts": 10,
      "rate": 600000
    }
  }
}
```

Utilisez la requête `PATCH` suivante pour mettre à jour l’étape `pre-custom-token-exchange` avec les valeurs requises. Notez que le taux correspond à l’intervalle de temps, en millisecondes, entre les nouvelles tentatives autorisées.

```bash lines theme={null}
curl --location --request PATCH 'https://{yourDomain}/api/v2//attack-protection/suspicious-ip-throttling' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <YOUR_MANAGEMENT_API_TOKEN>' \
--data '{"stage":{"pre-custom-token-exchange":{"max_attempts":10,"rate":600000}}}'
```
