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

# Configurer Akamai pour envoyer Supplemental Signals

> Configurez Akamai comme proxy inverse pour envoyer Supplmental Signals à votre tenant Auth0.

<Warning>
  Supplemental Signals est offert aux clients d’entreprise et vous devez demander le module complémentaire Attack Protection. Communiquez avec [Auth0 Sales](https://auth0.com/get-started?place=header\&type=button\&text=talk%20to%20sales) pour en savoir plus.
</Warning>

<Card title="Avant de commencer">
  Pour configurer Akamai afin d’envoyer Supplemental Signals à votre tenant Auth0, vous devez [configurer Akamai comme proxy inverse](/docs/fr-ca/customize/custom-domains/self-managed-certificates).
</Card>

Si vous utilisez Akamai Bot Manager et/ou Akamai Account Protector, vous pouvez [configurer votre proxy inverse dans Akamai](/docs/fr-ca/customize/custom-domains/self-managed-certificates/configure-akamai-for-use-as-reverse-proxy) pour envoyer les résultats à Auth0 et [utiliser ces résultats dans Actions](/docs/fr-ca/secure/attack-protection/use-akamai-supplemental-signals-actions).

<div id="supported-login-flows">
  ## Flux de connexion pris en charge
</div>

Auth0 prend actuellement en charge les flux de connexion suivants pour Supplemental Signals :

* Universal Login: Identifier + Password
  * [Universal Login: Identifier First](/docs/fr-ca/authenticate/login/auth0-universal-login/identifier-first)
  * [Universal Login: Inscription avec des connexions de base de données](/docs/fr-ca/authenticate/database-connections)
  * Universal Login: Réinitialisation du mot de passe, y compris Auth0 Organizations
  * [Resource Owner Password Grant (ROPG)](/docs/fr-ca/get-started/authentication-and-authorization-flow/resource-owner-password-flow)

<div id="step-1-register-an-api-in-akamai">
  # Étape 1 : Enregistrer une API dans Akamai
</div>

Pour qu’Akamai sache quand les tentatives de connexion réussissent ou échouent, vous devrez enregistrer une API dans Akamai, puis définir un point de terminaison pour chaque flux de connexion Auth0 que vous souhaitez prendre en charge.

Pour en savoir plus, consultez [Register an API on Akamai TechDocs](https://techdocs.akamai.com/api-definitions/docs/register-api) et [Add API resources on Akamai TechDocs](https://techdocs.akamai.com/api-definitions/docs/add-api-resources).

<AccordionGroup>
  <Accordion title="Nouvel Universal Login Identifier + Password">
    Utilisez les valeurs suivantes pour enregistrer votre API dans Akamai :

    | Propriété                   | Valeur    |
    | --------------------------- | --------- |
    | Chemin de base de l’API     | `/u`      |
    | Emplacement de la clé d’API | `En-tête` |

    Après avoir créé votre API, vous devrez ajouter une ressource API pour chacun des points de terminaison Auth0 suivants :

    * `/u/login/password`
    * `/u/signup`
    * `/u/signup/password`

    Le processus est le même pour tous les points de terminaison, mais les valeurs de configuration diffèrent légèrement.

    ### Ajouter une ressource API

    Utilisez les valeurs suivantes pour configurer une ressource sur votre API Akamai :

    <Tabs>
      <Tab title="/u/login/password">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/login/password`                    |
        | Méthodes                     | `POST`                               |
      </Tab>

      <Tab title="/u/signup">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/signup`                            |
        | Méthodes                     | `POST`                               |
      </Tab>

      <Tab title="/u/signup/password">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/signup/password`                   |
        | Méthodes                     | `POST`                               |
      </Tab>
    </Tabs>

    ### Ajouter des paramètres aux méthodes

    Une fois votre ressource API créée, vous devrez définir le paramètre `Request body` pour qu'Akamai puisse analyser correctement les requêtes de connexion.

    Utilisez les valeurs suivantes pour définir le paramètre `Request body` :

    <Tabs>
      <Tab title="/u/login/password">
        | Propriété                                | Valeur           |
        | ---------------------------------------- | ---------------- |
        | Format                                   | `JSON`           |
        | Obligatoire                              | `Yes`            |
        | Définir le format du corps de la requête | `Yes`            |
        | Détails du schéma                        | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "state"
                  ],
                  "properties": {
                    "state": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "username": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "password": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "action": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    }
                  }
                }
              }
            },
            "required": true
          }
        }
        ```
      </Tab>

      <Tab title="/u/signup">
        | Propriété                                | Valeur           |
        | ---------------------------------------- | ---------------- |
        | Format                                   | `JSON`           |
        | Obligatoire                              | `Yes`            |
        | Définir le format du corps de la requête | `Yes`            |
        | Détails du schéma                        | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "email",
                    "password"
                  ],
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "password": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    }
                  }
                }
              }
            },
            "required": true
          }
        }
        ```
      </Tab>

      <Tab title="/u/signup/password">
        | Propriété                                | Valeur           |
        | ---------------------------------------- | ---------------- |
        | Format                                   | `JSON`           |
        | Obligatoire                              | `Yes`            |
        | Définir le format du corps de la requête | `Yes`            |
        | Détails du schéma                        | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256,
                      "description": "email"
                    }
                  }
                }
              }
            },
            "required": true
          }
        }
        ```
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Nouvel Identifier First pour Universal Login">
    Utilisez les valeurs suivantes pour enregistrer votre API dans Akamai :

    | Propriété                   | Valeur    |
    | --------------------------- | --------- |
    | Chemin de base de l’API     | `/u`      |
    | Emplacement de la clé d’API | `En-tête` |

    Après avoir créé votre API, vous devrez ajouter une ressource API pour chacun des endpoints Auth0 suivants :

    * `/u/login`
    * `/u/signup`
    * `/u/signup/password`

    La procédure est la même pour tous les points de terminaison, mais les valeurs de configuration diffèrent légèrement.

    ### Ajouter une ressource API

    Utilisez les valeurs suivantes pour configurer une ressource sur votre API Akamai :

    <Tabs>
      <Tab title="/u/login">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/login`                             |
        | Méthodes                     | `POST`                               |
      </Tab>

      <Tab title="/u/signup">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/login/signup`                      |
        | Méthodes                     | `POST`                               |
      </Tab>

      <Tab title="/u/signup/password">
        | Propriété                    | Valeur                               |
        | ---------------------------- | ------------------------------------ |
        | Paramètres d’API non définis | `Spécifique` (`Corps de la requête`) |
        | Chemin                       | `/signup/password`                   |
        | Méthodes                     | `POST`                               |
      </Tab>
    </Tabs>

    ### Ajouter des paramètres aux méthodes

    Après avoir créé votre ressource API, vous devrez définir le paramètre `Request body` pour qu'Akamai puisse analyser correctement les requêtes de connexion.

    Utilisez les valeurs suivantes pour définir le paramètre `Request body` :

    <Tabs>
      <Tab title="/u/login">
        | Propriété                  | Valeur           |
        | -------------------------- | ---------------- |
        | Format                     | `JSON`           |
        | Obligatoire                | `Oui`            |
        | Définir le format du corps | `Oui`            |
        | Détails du schéma          | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "state"
                  ],
                  "properties": {
                    "state": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "username": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "password": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "action": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    }
                  }
                }
              }
            },
            "required": true
          }
        } 
        ```
      </Tab>

      <Tab title="/u/signup">
        | Propriété                  | Valeur           |
        | -------------------------- | ---------------- |
        | Format                     | `JSON`           |
        | Obligatoire                | `Oui`            |
        | Définir le format du corps | `Oui`            |
        | Détails du schéma          | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "email",
                    "password"
                  ],
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "password": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    }
                  }
                }
              }
            },
            "required": true
          }
        } 
        ```
      </Tab>

      <Tab title="/u/signup/password">
        | Propriété                  | Valeur           |
        | -------------------------- | ---------------- |
        | Format                     | `JSON`           |
        | Obligatoire                | `Oui`            |
        | Définir le format du corps | `Oui`            |
        | Détails du schéma          | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "required": [
                    "email"
                  ],
                  "properties": {
                    "email": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256,
                      "description": "email"
                    }
                  }
                }
              }
            },
            "required": true
          }
        }
        ```
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="ROPG">
    Utilisez les valeurs suivantes pour enregistrer votre API dans Akamai :

    | Propriété                 | Valeur   |
    | ------------------------- | -------- |
    | Chemin de base de l’API   | Aucun.   |
    | Emplacement de la clé API | `Header` |

    Après avoir créé votre API, vous devrez ajouter une ressource d’API pour chacun des points de terminaison Auth0 suivants :

    * `/oauth/token`

    Le processus est le même pour tous les points de terminaison, mais les valeurs de configuration diffèrent légèrement.

    ### Ajouter une ressource d’API

    Utilisez les valeurs suivantes pour configurer une ressource dans votre API Akamai :

    <Tabs>
      <Tab title="/oauth/token">
        | Propriété                    | Valeur                      |
        | ---------------------------- | --------------------------- |
        | Paramètres d’API non définis | `Specific` (`Request body`) |
        | Chemin                       | `/oauth/token`              |
        | Méthodes                     | `POST`                      |
      </Tab>
    </Tabs>

    ### Ajouter des paramètres aux méthodes

    Après avoir créé votre ressource d’API, vous devrez définir le paramètre `Request body` afin qu’Akamai puisse interpréter correctement les requêtes de connexion.

    Utilisez les valeurs suivantes pour définir le paramètre `Request body` :

    <Tabs>
      <Tab title="/oauth/token">
        | Propriété                  | Valeur           |
        | -------------------------- | ---------------- |
        | Format                     | `JSON`           |
        | Obligatoire                | `Yes`            |
        | Définir le format du corps | `Yes`            |
        | Détails du schéma          | Voir ci-dessous. |

        ```json theme={null}
        {
          "requestBody": {
            "content": {
              "application/x-www-form-urlencoded": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "username": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    },
                    "password": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "maxItems": 256
                    }
                  }
                }
              }
            },
            "required": true
          }
        } 
        ```
      </Tab>
    </Tabs>
  </Accordion>
</AccordionGroup>

<div id="step-2-forward-bot-results-from-akamai-to-auth0">
  # Étape 2 : Transmettre à Auth0 les résultats de détection des bots d’Akamai
</div>

Pour configurer Akamai afin qu’il transmette à Auth0 les résultats de détection des bots, consultez [Forward Bot Results to Origin on Akamai TechDocs](https://techdocs.akamai.com/content-protector/docs/forward-bot-results-to-origin).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  L’en-tête `akamai-user-risk` peut ne pas être présent dans chaque requête de connexion, car Akamai n’envoie cet en-tête que lorsqu’il génère un score de risque utilisateur.
</Callout>

<div id="step-3-enable-processing-of-akamai-headers-in-auth0">
  # Étape 3 : Activer le traitement des en-têtes Akamai dans Auth0
</div>

Vous pouvez configurer Auth0 pour accepter les Supplemental Signals envoyés par Akamai dans l’Auth0 Dashboard ou à l’aide de l’Auth0 Management API.

<Tabs>
  <Tab title="Dashboard">
    Pour activer Supplemental Signals dans le Dashboard :

    1. Accédez à **[Auth0 Dashboard > Security > Attack Protection](https://manage.auth0.com/dashboard/#/security/attack-protection)**.
    2. Sélectionnez **Supplemental Signals**.
    3. Activez la bascule **Enable Akamai headers**.

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      Si l’option Supplemental Signals n’apparaît pas dans l’Auth0 Dashboard, vous devez demander l’Attack Protection Add-on. Pour en savoir plus, communiquez avec [Auth0 Sales](https://auth0.com/get-started?place=header\&type=button\&text=talk%20to%20sales).
    </Callout>
  </Tab>

  <Tab title="Management API">
    Pour activer Supplemental Signals avec la Management API :

    1. [Obtenez un jeton d’accès à la Management API](/docs/fr-ca/secure/tokens/access-tokens/management-api-access-tokens/get-management-api-access-tokens-for-production) avec la portée `update:attack_protection`.
    2. Envoyez une requête au point de terminaison de la Management API [Mettre à jour la configuration de Supplemental Signals pour un tenant](/docs/fr-ca/api/management/v2/supplemental-signals/patch-supplemental-signals) avec le corps suivant :

    ```json theme={null}
    {
      "akamai_enabled": true
    }
    ```
  </Tab>
</Tabs>

<div id="step-4-test-and-verify-configuration">
  # Étape 4 : Testez et vérifiez la configuration
</div>

Testez votre configuration en effectuant une requête vers chaque point de terminaison pour le ou les flux de connexion que vous avez configurés.

Si tout est configuré correctement :

* Les en-têtes `akamai-user-risk` et `akamai-bot` seront présents dans les journaux du tenant pour les événements connexes.
* Vous pouvez utiliser les propriétés suivantes dans l’objet `event` de l’Action post-login :
  * `authentication.riskAssessment.supplemental.akamai.akamaiBot`
  * `authentication.riskAssessment.supplemental.akamai.akamaiUserRisk`
