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

# Utiliser les Supplemental Signals d’Akamai dans Actions

> Utilisez les Actions Auth0 avec les signaux Akamai Account Protector afin d’enrichir les décisions de connexion avec les scores de bot, de fraude et de risque du réseau périphérique d’Akamai.

> [!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.

> **Avant de commencer**
>
> Pour utiliser les Supplemental Signals d’Akamai dans Actions, vous devez :
>
> * [Configurer Akamai comme proxy inverse](/docs/fr-ca/customize/custom-domains/self-managed-certificates.md)
> * [Configurer Akamai pour envoyer des Supplemental Signals](/docs/fr-ca/secure/attack-protection/configure-akamai-supplemental-signals.md)

Une fois Akamai configuré pour utiliser Supplemental Signals, vous pouvez utiliser les données fournies par ces signaux dans les [Actions Auth0](/docs/fr-ca/customize/actions).

## Signaux supplémentaires pris en charge par déclencheur d’Action

| Déclencheur | Objets de signal supplémentaire | Objet Event |
| :- | :- | :- |
| Login | <ul><li>`akamaiBot`</li><li>`akamaiUserRisk`</li></ul> | [`event.authentication.riskAssessment.supplemental.akamai`](/docs/fr-ca/actions/reference/post-login/post-login-event-object) |
| Pre-User Registration | <ul><li> `akamaiBot`</li><li>`akamaiUserRisk`</li></ul> | [`event.authentication.riskAssessment.supplemental.akamai`](/docs/fr-ca/actions/reference/pre-user-registration/pre-user-registration-event-object/pre-user-registration-event-object) |
| Post-User Registration | <ul><li> `akamaiBot`</li><li>`akamaiUserRisk`</li></ul> | [`event.authentication.riskAssessment.supplemental.akamai`](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/post-user-registration-trigger/post-user-registration-event-object) |
| Send Phone Message | Aucun | N/A |
| Post-Challenge | <ul><li> `akamaiBot`</li><li>`akamaiUserRisk`</li></ul> | [`event.authentication.riskAssessment.supplemental.akamai`](/docs/fr-ca/customize/actions/explore-triggers/password-reset-triggers/post-challenge-trigger/post-challenge-event-object) |
| Post-Change Password | <ul><li> `akamaiBot`</li><li>`akamaiUserRisk`</li></ul> | [`event.authentication.riskAssessment.supplemental.akamai`](/docs/fr-ca/customize/actions/explore-triggers/password-reset-triggers/post-change-password-trigger/post-change-password-event-object) |
| Credentials Exchange | Aucun | N/A |

## Schémas d’objet de Supplemental Signal

Les objets `akamaiBot` et `akamaiUserRisk` contiennent plusieurs propriétés que vous pouvez utiliser pour personnaliser votre flux d’authentification.

**akamaiBot** `object`

**action** `string`

L’action renvoyée dans les résultats d’Akamai Bot Manager.

Exemple : `Monitor`

**botCategory** `string[]`

La catégorie de bot renvoyée dans les résultats d’Akamai Bot Manager.

Exemple : `["Web Search Engine Bots"]`

**botScore** `number`

Le score de bot renvoyé dans les résultats d’Akamai Bot Manager.

Exemple : `90`

**botScoreResponseSegment** `string`

Le segment de réponse du score de bot renvoyé dans les résultats d’Akamai Bot Manager.

Exemple : `aggressive`

**botnetId** `string`

L’ID du botnet renvoyé dans les résultats d’Akamai Bot Manager.

Exemple : `googlebot`

**type** `string`

Le type renvoyé dans les résultats d’Akamai Bot Manager.

Exemple : `Akamai-Categorized Bot`

**akamaiUserRisk** `object`

**action** `string`

L’action de l’évaluation du risque utilisateur Akamai.

Exemple : `monitor`

**allow** `number`

Le statut autorisé de l’évaluation du risque utilisateur Akamai.

Exemple : `0`

**emailDomain** `string`

Le domaine de courriel de l’utilisateur.

Exemple : `example.com`

**general** `object`

Le risque général de l’évaluation du risque utilisateur Akamai.

Exemple : `{ aci: “0”, db: “Chrome 85”, di: “0fc91b5ec42f5a471c16a85e3e388ca57697c1a9”, do: “Mac OS X 10” }`

**ouid** `string`

L’OUID de l’utilisateur.

Exemple : `m534264`

**requestid** `string`

L’ID de requête de l’utilisateur.

Exemple : `19e22e`

**risk** `object`

Le risque de l’évaluation du risque utilisateur Akamai.

Exemple : `{ ugp: “ie/M”, unp: “432/H” }`

**score** `number`

Le score de l’évaluation du risque utilisateur Akamai.

Exemple : `0`

**status** `number`

Le statut de l’évaluation du risque utilisateur Akamai.

Exemple : `4`

**trust** `object`

Le niveau de confiance de l’évaluation du risque utilisateur Akamai.

Exemple : `{ udbp: "Chrome85", udfp: "25ba44ec3b391ba4ce5fbbd2979635e254775werwe", udop: "Mac OS X 10", ugp: "FR", unp: "12322", utp: "weekday_3" }`

**username** `string`

Le nom d’utilisateur de l’utilisateur.

Exemple : `testuser@example.com`

**uuid** `string`

L’UUID de l’évaluation du risque utilisateur Akamai.

Exemple : `86b37525-8047-4a3c-8d7a-23e99666da05`

## Cas d’usage

> **Révoquer une session selon les résultats d’Akamai Account Protector**
>
> Voici un exemple de la façon dont vous pourriez révoquer une session selon la propriété `akamaiUserRisk.score` :
>
> ```javascript theme={null}
> exports.onExecutePostLogin = async (event, api) => {
>   const userRiskHeader = event.authentication?.riskAssessment?.supplemental?.akamai?.akamaiUserRisk;
>   if (userRiskHeader?.score && userRiskHeader?.score >= 90) {
>         console.log('User is deemed high risk.');
>         //This will revoke session cookies to deny login.
>         api.session.revoke('Session revoked, User risk score is greater than 90.');
>     }
> };
>
> ```
>
> L’utilisation de la méthode `api.session.revoke` (plutôt que de la méthode `api.access.deny`) garantit que, si l’utilisateur actualise l’application, les Supplemental Signals d’Akamai sont envoyés avec la requête d’authentification et que le flux de l’Action post-login est déclenché.

> **Demander l’authentification multifacteur (MFA) selon les résultats d’Akamai Bot Manager**
>
> Voici un exemple de la façon dont vous pourriez imposer la MFA selon la propriété `akamaiBot.score`.
>
> #### Imposer la MFA
>
> Cette Action effectue deux tâches :
>
> 1. **Mettre à jour les [métadonnées d’application](/docs/fr-ca/manage-users/user-accounts/metadata/metadata-fields-data.md)** : si la propriété `score` dépasse une valeur donnée, indiquez qu’une MFA est requise pour la session.
> 2. **Exiger la MFA** : si la propriété `score` dépasse une valeur donnée, ou s’il existe une entrée dans les métadonnées d’application indiquant que la MFA est requise pour la session, imposez la MFA.
>
> ```javascript theme={null}
> exports.onExecutePostLogin = async (event, api) => {
>   const userRiskHeader = event.authentication?.riskAssessment?.supplemental?.akamai?.akamaiUserRisk;
>
>   if (userRiskHeader?.score && userRiskHeader?.score >= 90) {
>     console.log(`Setting app metadata for session id: ${event.session?.id}`);
>     api.user.setAppMetadata(`mfa_required_${event.session?.id}`, true);
>   }
>
>   if (userRiskHeader?.score && userRiskHeader?.score >= 90 ||
>       event.user.app_metadata[`mfa_required_${event.session?.id}`]) {
>         console.log(`Requiring MFA FOR Session id: ${event.session?.id}`);
>         api.multifactor.enable('any', {allowRememberBrowser: false});
>   }
> };
>
> ```
>
> #### Nettoyer les métadonnées d’application
>
> Cette Action supprime des métadonnées d’application les renseignements sur la MFA propres à la session une fois que l’utilisateur a terminé la MFA avec succès.
>
> ```javascript theme={null}
> exports.onExecutePostLogin = async (event, api) => {
>   const mfaMethod = event.authentication?.methods.find((method) => {
>     return method.name === 'mfa';
>   });
>
>   if (mfaMethod) {
>     console.log(`Removing MFA requirement for session id: ${event.session?.id}`);
>     api.user.setAppMetadata(`mfa_required_${event.session?.id}`, undefined);
>   }
> };
> ```
