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

# Déclencheurs d’actions : post-connexion - Objet API

> Découvrez l’objet API du déclencheur d’actions post-connexion.

L’objet API pour le déclencheur d’actions post-connexion inclut :

## `api.access`

Modifier l’accès à la connexion de l’utilisateur, par exemple en rejetant la tentative de connexion.

### `api.access.deny(reason)`

Marquer la tentative de connexion en cours comme refusée. Cela empêchera l’utilisateur final de terminer le processus de connexion. Cette action *N’* annulera PAS les autres effets secondaires liés à l’utilisateur (tels que les changements de métadonnées) demandés par cette action. Le flux de connexion s’arrêtera immédiatement après l’exécution de cette action et aucune autre action ne sera exécutée.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                                       |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `reason`  | *Chaîne*. Une explication lisible par l’homme du rejet de la connexion. Elle est envoyée en tant que `error_description` à l’application qui a initié la demande. |

## `api.accessToken`

Demande de modification du jeton d’accès en cours d’émission.

### `api.accessToken.setCustomClaim(name, value)`

Élaborer une demande personnalisée sur le jeton d’accès qui sera défini à l’issue du processus de connexion.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                   |
| --------- | ----------------------------------------------------------------------------- |
| `name`    | *Chaîne*. Nom de la demande (il peut s’agir d’une URL entièrement qualifiée). |
| `value`   | *Toute valeur*. La valeur de la demande.                                      |

### `api.accessToken.addScope(scope)`

Ajouter une permission au jeton d’accès qui sera émis à la fin du processus de connexion.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                       |
| --------- | --------------------------------- |
| `scope`   | *Chaîne* La permission à ajouter. |

### `api.accessToken.removeScope(scope)`

Supprimer une permission du jeton d’accès qui sera émis à l’issue du processus de connexion.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                         |
| --------- | ----------------------------------- |
| `scope`   | *Chaîne* La permission à supprimer. |

## `api.authentication`

Demande de modifications de l’état d’authentification de la session de l’utilisateur actuel.

### `api.authentication.recordMethod(provider_url)`

Indique qu’une méthode d’authentification personnalisée a été appliquée dans la session en cours. Cette méthode sera alors disponible dans le tableau `event.authentication.methods` lors des connexions suivantes.

**Important** : Cette API n’est disponible qu’au sein de la fonction `onContinuePostLogin` pour les actions `PostLogin`. En d’autres termes, elle peut être utilisée pour enregistrer l’achèvement d’une méthode d’authentification personnalisée après avoir redirigé l’utilisateur via `api.redirect.sendUserTo()`.

Renvoie une référence à l’objet `api`.

| Paramètre      | Description                                                                                             |
| -------------- | ------------------------------------------------------------------------------------------------------- |
| `provider_url` | *Chaîne*. Une URL représentant l’identité de la méthode personnalisée authentifiée qui a été complétée. |

### `api.authentication.challengeWith(factor, options)`

Défier l’utilisateur avec un ou plusieurs facteurs d’authentification multifacteur spécifiés. Cette méthode présente d’abord le défi par défaut, puis permet à l’utilisateur de sélectionner une option différente si des facteurs supplémentaires ont été fournis. Si l’utilisateur n’est inscrit à aucun des facteurs fournis (y compris les facteurs par défaut et les facteurs supplémentaires), la commande échoue.

**Remarque** : Cette méthode remplace les politiques et les règles existantes qui activent ou désactivent la MFA dans un locataire.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factor`  | *Objet*. Un objet contenant le champ `type`. `type` est une chaîne utilisée pour spécifier le facteur MFA par défaut utilisé pour mettre au défi l’utilisateur.<br />Les valeurs prises en charge sont les suivantes :<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`email`</li> <li>`push-notification`</li> <ul> <li>`otpFallback`Si la valeur est `false`, l’utilisateur ne peut pas utiliser l’option de mot de passe unique du facteur de notification push. </li> </ul> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> Exemple<br />`js api.authentication.challengeWith({ type: 'phone', options: { preferredMethod: 'both'} }); ` |
| `options` | *Objet facultatif*. Un objet contenant le champ facultatif `additionalFactors`.<br />`additionalFactors` est un tableau utilisé pour spécifier d’autres facteurs que l’utilisateur peut choisir lorsqu’il relève le défi MFA. Prend en charge les mêmes valeurs que le champ `type`.<br />Exemple<br />`js api.authentication.challengeWith({ type: 'otp' }, { additionalFactors: [{ type: 'push-notification' }, { type: 'phone' }] }) `                                                                                                                                                                                                                                                                                                                                                         |

### `api.authentication.challengeWithAny(factors)`

Déclencher un défi-réponse MFA et permettre à l’utilisateur de sélectionner son facteur préféré dans la liste fournie. Cette méthode présente à l’utilisateur un sélecteur de facteurs plutôt qu’un défi spécifique, conformément aux conditions suivantes :

* Si au moins deux facteurs sont spécifiés, un sélecteur de facteurs s’affiche.
* Si l’utilisateur ne s’est inscrit qu’à l’un des facteurs spécifiés (ou si un seul facteur est spécifié), le sélecteur de facteur est ignoré.
* Si l’utilisateur n’est pas inscrit à l’un des facteurs spécifiés, la commande de défi échoue.

**Remarque** : Cette méthode remplace les politiques et les règles existantes qui activent ou désactivent la MFA dans un locataire.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factors` | *Tableau*. Tableau d’objets qui inclut le champ ` type`. ` type` est une chaîne utilisée pour que l’utilisateur puisse choisir un facteur MFA lorsqu’il est confronté à un défi-réponse.<br />Les valeurs prises en charge sont les suivantes :<br /><ul> <li> `otp` </li> <li> `recovery-code` </li> <li> `email` </li> <li> `push-notification` <ul> <li>`otpFallback`Si la valeur est `false`, l’utilisateur ne peut pas utiliser l’option de mot de passe unique du facteur de notification push. </li> </ul> </li> <li> `phone` <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> </li> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> |

### `api.authentication.enrollWith(factor, options)`

Amener l’utilisateur à s’inscrire avec un facteur MFA spécifique. Cette méthode demande à l’utilisateur de s’inscrire à un facteur par défaut, puis permet à l’utilisateur de sélectionner une option différente si des facteurs supplémentaires ont été fournis. Si l’utilisateur s’est déjà inscrit à tous les facteurs fournis (y compris les facteurs par défaut et les facteurs supplémentaires), la commande échoue.

**Remarque** : Cette méthode remplace les politiques et les règles existantes qui activent ou désactivent la MFA dans un locataire.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factor`  | *Objet*. Un objet contenant le champ `type`. `type` est une chaîne utilisée pour spécifier le facteur MFA par défaut utilisé lors de l’inscription de l’utilisateur.<br />Les valeurs prises en charge sont les suivantes :<br /><ul> <li>`otp`</li> <li>`recovery-code`</li> <li>`push-notification`</li> <li>`phone`</li> <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> |
| `options` | *Objet facultatif*. Un objet contenant le champ facultatif `additionalFactors`.<br />`additionalFactors` est un tableau utilisé pour spécifier d’autres facteurs que l’utilisateur peut choisir lors de l’inscription. Prend en charge les mêmes valeurs que le champ `type`.<br />Exemple<br />`js api.authentication.enrollWith({ type: 'otp' }, { additionalFactors: [{ type: 'push-notification' }, { type: 'phone' }] }) `                                                                          |

### `api.authentication.enrollWithAny(factors)`

Demande à l’utilisateur qui s’inscrit de sélectionner un facteur MFA dans une liste fournie. Cette méthode présente à l’utilisateur un sélecteur de facteurs plutôt qu’une invite de facteur par défaut, conformément aux conditions suivantes :

* Si deux facteurs ou plus sont spécifiés, le sélecteur de facteurs s’affiche.
* Si l’utilisateur s’est déjà inscrit à tous les facteurs fournis sauf un, le sélecteur de facteurs est ignoré, et l’utilisateur est invité à s’inscrire au facteur restant.
* Si l’utilisateur s’est déjà inscrit à tous les facteurs fournis, la commande échoue.

**Remarque** : Cette méthode remplace les politiques et les règles existantes qui activent ou désactivent la MFA dans un locataire.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `factors` | *Tableau*. Tableau d’objets qui inclut le champ ` type`. ` type` est une chaîne utilisée pour spécifier le facteur MFA par défaut utilisé lors de l’inscription de l’utilisateur.<br />Les valeurs prises en charge sont les suivantes :<br /><ul> <li> `otp` </li> <li> `recovery-code` </li> <li> `push-notification` </li> <li> `phone` <ul> <li>`preferredMethod: voice`</li> <li>`preferredMethod: sms`</li> <li>`preferredMethod: both`</li> </ul> </li> <li>`webauthn-platform`</li> <li>`webauthn-roaming`</li> </ul> |

### `api.authentication.setPrimaryUser(primary_user_id)`

Modifier l’utilisateur principal pour la transaction de connexion.

Dans les scénarios qui nécessitent de relier les utilisateurs, l’identité de l’utilisateur utilisée pour initier la connexion peut ne plus exister en tant qu’utilisateur distinct. Cette identité peut maintenant être une identité secondaire d’un utilisateur existant. Dans ce cas, la fonction `setPrimaryUser()` peut être utilisée pour indiquer que le sujet de la connexion doit être modifié.

Important :

* Lier des comptes de manière non sécurisée peut permettre à des acteurs malveillants d’accéder à des comptes d’utilisateurs légitimes. Votre locataire doit demander l’authentification des deux comptes avant de les lier.
* L’identité utilisée pour authentifier le connexion doit faire partie des identités secondaires de l’utilisateur référencé par `primary_user_id`. La connexion échouera et les jetons ne seront pas émis dans le cas contraire.

| Paramètre         | Description                                                                                  |
| ----------------- | -------------------------------------------------------------------------------------------- |
| `primary_user_id` | *Chaîne*. L’ID de l’utilisateur pour lequel les jetons doivent être émis (la demande `sub`). |

## `api.cache`

Stocker et récupérer des données qui persistent à travers les exécutions.

### `api.cache.delete(key)`

Supprime un enregistrement décrivant une valeur mise en cache à la clé fournie, si elle existe.

Renvoie un objet `CacheWriteResult` avec `type: "success"` si une valeur a été supprimée du cache. Si l’opération échoue, `type: "error"` est renvoyé. En cas d’erreur, l’objet renvoyé aura une propriété `code` qui indique la nature de l’échec.

| Paramètre | Description                                                 |
| --------- | ----------------------------------------------------------- |
| `key`     | *Chaîne*. La clé de l’enregistrement stockée dans le cache. |

### `api.cache.get(key)`

Récupérez un enregistrement décrivant une valeur mise en cache à la `key` fournie, si elle existe. Si un enregistrement est trouvé, la valeur mise en cache peut être trouvée dans la propriété `value` de l’objet renvoyé.

Renvoie un enregistrement de cache si un élément est trouvé dans le cache pour `key`. Les enregistrements de cache sont des objets dotés d’une propriété `value` contenant la valeur mise en cache et d’une propriété `expires_at` indiquant l’expiration maximale de l’enregistrement en millisecondes depuis l’Unix epoch.

**Important :**
Ce cache est conçu pour des données éphémères. Les éléments peuvent ne pas être disponibles lors de transactions ultérieures, même s’ils sont dans la limite de leur durée de vie.

| Paramètre | Description                                                 |
| --------- | ----------------------------------------------------------- |
| `key`     | *Chaîne*. La clé de l’enregistrement stockée dans le cache. |

### `api.cache.set(key, value, [options])`

Stockez ou modifiez une valeur de chaîne dans le cache à la clé spécifiée.

Les valeurs stockées dans ce cache sont limitées au déclencheur dans lequel elles sont définies. Elles sont soumises aux [Limites de cache des actions](/docs/fr-ca/customize/actions/limitations).

Les valeurs stockées de cette manière auront des durées de vie allant jusqu’aux valeurs `ttl` ou `expires_at`. Si aucune durée de vie n’est précisée, une durée de vie par défaut de 15 minutes sera utilisée. Les durées de vie ne doivent pas dépasser la durée maximale indiquée dans [Limite du cache des actions](/docs/fr-ca/customize/actions/limitations).

Renvoie `CacheWriteSuccess` si les valeurs sont stockées avec succès. Dans le cas contraire, vous recevrez `CacheWriteError`.

| Paramètre            | Description                                                                                                                                                                                                                                                                                                                                                                                                                       |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key`                | *Chaîne*. La clé de l’enregistrement stockée dans le cache.                                                                                                                                                                                                                                                                                                                                                                       |
| `value`              | *Chaîne*. La valeur de l’enregistrement à stocker.                                                                                                                                                                                                                                                                                                                                                                                |
| `options`            | *Objet facultatif*. Options permettant d’ajuster le comportement du cache.                                                                                                                                                                                                                                                                                                                                                        |
| `options.expires_at` | *Nombre facultatif*. Le temps d’expiration absolu en millisecondes depuis l’Unix epoch. Bien que les enregistrements mis en cache puissent être supprimés plus tôt, ils ne resteront jamais au-delà du `expires_at` fourni.<br />*Remarque :* Cette valeur ne doit pas être fournie si une valeur a également été fournie pour `ttl`. Si les deux options sont fournies, c’est la première des deux échéances qui sera retenue.   |
| `options.ttl`        | *Nombre facultatif*. Valeur de la durée de vie de cette entrée de cache en millisecondes. Bien que les enregistrements mis en cache puissent être supprimés plus tôt, ils ne resteront jamais au-delà du `ttl` fourni.<br />*Remarque :* Cette valeur ne doit pas être fournie si une valeur a également été fournie pour `expires_at`. Si les deux options sont fournies, c’est la première des deux échéances qui sera retenue. |

## `api.idToken`

Demande de modifications au jeton d’ID émis.

### `api.idToken.setCustomClaim(name, value)`

Définir une demande personnalisée sur le jeton d’ID qui sera émis à l’issue du processus de connexion.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                   |
| --------- | ----------------------------------------------------------------------------- |
| `name`    | *Chaîne*. Nom de la demande (il peut s’agir d’une URL entièrement qualifiée). |
| `value`   | *Toute valeur*. La valeur de la demande.                                      |

## `api.multifactor`

Définir l’exigence d’une authentification multifacteur lors de la tentative de connexion.

### `api.multifactor.enable(provider, options)`

Activer l’authentification multifacteur pour ce flux de connexion. Lorsque cette option est activée, les utilisateurs doivent répondre au défi multifacteur configuré. Le défi multifacteur proprement dit sera reporté à la fin du processus de connexion.

Renvoie une référence à l’objet `api`.

| Paramètre                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `provider`                     | *Chaîne*. Le nom du fournisseur multifacteur à utiliser ou la valeur `any` à utiliser de n’importe lequel des fournisseurs configurés.<br />Les valeurs prises en charge sont les suivantes :<br /><ul> <li>`any` Utiliser l’un des défis configurés.</li> <li>`duo` Utiliser le fournisseur multifacteur Duo.</li> <li>`google-authenticator` Utiliser le fournisseur Google Authenticator.</li> <li>`guardian` Utiliser le fournisseur Guardian.</li> <li>`none` N’utiliser aucun des défis configurés pour empêcher le déclenchement du flux MFA.</li> </ul>                                                                                                                                                                              |
| `options`                      | *Objet facultatif*. Options supplémentaires pour l’activation des défis multifacteurs.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `options.allowRememberBrowser` | *Booléen facultatif*. Lorsque le fournisseur est défini sur `google-authenticator` ou `duo`, l’utilisateur est invité à s’authentifier avec la MFA une fois tous les 30 jours. Lorsque le fournisseur est `guardian`, l’invite MFA affiche la case à cocher pour l’inscription pour que les utilisateurs choisissent de s’inscrire ou non. La valeur par défaut est `false`. Pour en savoir plus, lisez [Personnaliser les pages d’authentification multifacteur](/docs/secure/multi-factor-authentication/customize-mfa)                                                                                                                                                                                                                    |
| `options.providerOptions`      | *Objet facultatif*. Options supplémentaires pour configurer le défi, disponibles uniquement pour le fournisseur `duo`.<br />Les options prises en charge sont les suivantes :<br /><ul> <li>`host` *Chaîne*. Il s’agit de la valeur du nom d’hôte de l’API de votre compte Duo.</li> <li>`ikey` *Chaîne*. Il s’agit de la valeur de l’ID client (anciennement clé d’intégration) de votre compte Duo.</li> <li>`skey` *Chaîne*. Il s’agit de la valeur du secret du client (anciennement clé secrète) de votre compte Duo.</li> <li>`username` *Chaîne facultative*. Utiliser un attribut du profil comme nom d’utilisateur dans DuoSecurity. Cette fonction est également utile si vos utilisateurs sont déjà inscrits dans Duo.</li> </ul> |

## `api.user`

Apporter des modifications spécifiques à l’application aux métadonnées de l’utilisateur qui se connecte.

REMARQUE : **L’invocation de ces méthodes n’entraîne pas une mise à jour immédiate des métadonnées**. Vous pouvez les appeler plusieurs fois au cours de plusieurs actions du même flux et le moteur agrégera les changements et **mettra à jour les métadonnées en une seule fois avant que le flux ne soit terminé**.

### `api.user.setAppMetadata(name, value)`

Définir les métadonnées de l’application pour l’utilisateur qui se connecte. Les données stockées dans app\_metadata ne peuvent pas être modifiées par l’utilisateur.

Remarque : Ce déclencheur effectue un appel à Management API, en consommant la limite anti-attaques de Management API. Si cette requête atteint la limite anti-attaques et ne parvient pas à être relancée dans le délai imparti, vous recevrez une erreur `Deadline Exceeded`.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                       |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`    | *Chaîne*. Le nom de la propriété des métadonnées.                                                                                                 |
| `value`   | *Toute valeur*. La valeur de la propriété des métadonnées. Cette valeur peut être définie sur `null` pour supprimer la propriété des métadonnées. |

### `api.user.setUserMetadata(name, value)`

Définir les métadonnées générales pour l’utilisateur qui se connecte.

Remarque : Ce déclencheur effectue un appel à Management API, en consommant la limite anti-attaques de Management API. Si cette requête atteint la limite anti-attaques et ne parvient pas à être relancée dans le délai imparti, vous recevrez une erreur `Deadline Exceeded`.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                       |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`    | *Chaîne*. Le nom de la propriété des métadonnées.                                                                                                 |
| `value`   | *Toute valeur*. La valeur de la propriété des métadonnées. Cette valeur peut être définie sur `null` pour supprimer la propriété des métadonnées. |

## `api.redirect`

### `api.redirect.encodeToken(options)`

Créer un jeton de session utilisable comme paramètre de chaîne de requête pour rediriger la cible (via `sendUserTo`) qui contient des données dont l’authenticité doit pouvoir être prouvée par le point de terminaison cible. Le point de terminaison cible peut vérifier l’authenticité et l’intégrité des données en contrôlant la signature du jeton JWT à l’aide d’un secret partagé.

Renvoie une chaîne JWT.

| Paramètre                  | Description                                                                                                                                                                                                      |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options`                  | *Options*. Configurer la manière dont les données sensibles sont encodées dans les paramètres de requête de l’URL résultante.                                                                                    |
| `options.expiresInSeconds` | *Nombre*. Nombre de secondes avant l’expiration du jeton (900 par défaut).                                                                                                                                       |
| `options.payload`          | *Options*. Données destinées à être transmises à la cible de la redirection et dont l’authenticité et l’intégrité doivent pouvoir être prouvées.                                                                 |
| `options.secret`           | *Chaîne*. Un secret qui sera utilisé pour signer un JWT partagé avec la cible de la redirection. La valeur secrète doit être stockée en tant que secret et récupérée à l’aide de `event.secrets['SECRET_NAME']`. |

### `api.redirect.sendUserTo(url, options)`

Déclenchez une redirection du navigateur vers l’adresse cible `url` immédiatement après la fin de cette action.

Renvoie une référence à l’objet `api`.

| Paramètre       | Description                                                                                                                           |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `url`           | *Chaîne*. L’URL vers laquelle rediriger l’utilisateur.                                                                                |
| `options`       | *Options*. Un objet représentant des paramètres de chaîne de requête supplémentaires qui doivent être ajoutés à l’URL de redirection. |
| `options.query` | *Options*. Paramètres supplémentaires de la chaîne de requête qui doivent être ajoutés à l’URL de redirection.                        |

### `api.redirect.validateToken(options)`

Récupère les données encodées dans un jeton JWT transmis au point de terminaison `/continue` tout en vérifiant l’authenticité et l’intégrité de ces données.

Renvoie les données utiles du jeton JWT.

| Paramètre                    | Description                                                                                                                                       |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options`                    | *Options*. Options pour récupérer les données codées dans un jeton JWT transmis au point de terminaison `/continue` à la suite d’une redirection. |
| `options.secret`             | *Chaîne*. Secret utilisé pour coder le jeton.                                                                                                     |
| `options.tokenParameterName` | *Chaîne*. Le nom du paramètre de la requête ou du corps qui a été envoyé au point de terminaison `/continue`. (par défaut `session_token`)        |

### `api.rules`

Obtenir des informations sur les règles qui se sont exécutées pendant la transaction en cours.

### `api.rules.wasExecuted(ruleId)`

Vérifie si une règle spécifique a été exécutée avant cette Action dans la transaction en cours. Cela peut être utilisé pour éviter d’exécuter la logique qui a été dupliquée depuis cette Règle dans cette Action lors de la migration vers les Actions.

Cette méthode renvoie `true` si la règle avec l’ID fournie a été exécutée dans cette transaction, et `false` si ce n’est pas le cas.

| Paramètre | Description                          |
| --------- | ------------------------------------ |
| `ruleId`  | Chaîne. L’ID de la règle à vérifier. |

## `api.samlResponse`

Modifier la réponse SAML pour l’utilisateur qui se connecte

### `api.samlResponse.setAttribute(attribute, value)`

Définir un attribut SAML personnalisé.

Une opération ayant échoué génère `Error`. En cas d’erreur, l’objet renvoyé comporte un message indiquant la nature de l’échec.

La valeur doit être de type `SAMLValue`, qui peut être `string | number | boolean | null | Array`

| Paramètre   | Description                                                                                                             |
| ----------- | ----------------------------------------------------------------------------------------------------------------------- |
| `attribute` | *Chaîne*. L’attribut SAML à définir.                                                                                    |
| `value`     | *SAMLValue*. La valeur de l’assertion SAML. Cela peut être défini sur `null` pour supprimer la propriété de l’attribut. |

### `api.samlResponse.setAudience(audience)`

Modifier l’audience de la réponse SAML. La valeur par défaut est l’émetteur SAMLRequest.

| Paramètre  | Description                          |
| ---------- | ------------------------------------ |
| `audience` | *Chaîne*. L’audience SAML à définir. |

### `api.samlResponse.setIssuer(issuer)`

Modifie l’émetteur de la réponse SAML. L’émetteur par défaut est `urn:TENANT`.

| Paramètre | Description                          |
| --------- | ------------------------------------ |
| `issuer`  | *Chaîne*. L’émetteur SAML à définir. |

### `api.samlResponse.setEncryptionPublicKey(publicKey)`

Indiquez éventuellement une clé publique utilisée pour chiffrer l’assertion SAML. La clé publique doit être obtenue auprès du fournisseur de services. La clé publique le certificat doivent être spécifiés.

| Paramètre   | Description                          |
| ----------- | ------------------------------------ |
| `publicKey` | *Chaîne*. La clé publique à définir. |

### `api.samlResponse.setRecipient(recipient)`

Modifiez le destinataire de l’assertion SAML (SubjectConfirmationData). La valeur par défaut est `AssertionConsumerUrl` sur `SAMLRequest` ou la URL de rappel si aucun SAMLRequest n’a été envoyé.

| Paramètre   | Description                               |
| ----------- | ----------------------------------------- |
| `recipient` | *Chaîne*. Le destinataire SAML à définir. |

### `api.samlResponse.setCreateUpnClaim(createUpnClaim)`

Indique si une réclamation UPN doit être créée. La valeur par défaut est `true`.

| Paramètre        | Description                                        |
| ---------------- | -------------------------------------------------- |
| `createUpnClaim` | *Booléen* Basculer pour créer une réclamation UPN. |

### `api.samlResponse.setPassthroughClaimsWithNoMapping(passthroughClaimsWithNoMapping)`

Si `true` (par défaut), pour chaque réclamation qui n’est pas mappée au profil commun, Auth0 passe par celles de l’assertion de sortie. Si `false`, ces réclamations ne seront pas mappées.

| Paramètre                        | Description                                                                 |
| -------------------------------- | --------------------------------------------------------------------------- |
| `passthroughClaimsWithNoMapping` | *Booléen* Si les réclamations doivent être mappées à l’assertion de sortie. |

### `api.samlResponse.setMapUnknownClaimsAsIs(mapUnknownClaimsAsIs)`

Si `passthroughClaimsWithNoMapping` est `true` et que ceci est `false` (par défaut), Auth0 ajoute un préfixe [http://schema.auth0.com](http://schema.auth0.com) pour chaque demande qui n’est pas mappée avec le profil commun. Si `true`, la demande sera traitée telle quelle.

| Paramètre              | Description                                                 |
| ---------------------- | ----------------------------------------------------------- |
| `mapUnknownClaimsAsIs` | *Booléen* Les demandes doivent être mappées telles quelles. |

### `api.samlResponse.setMapIdentities(mapIdentities)`

Si `true` (par défaut), cela ajoute plus d’informations dans le jeton tel que le fournisseur (Google, ADFS, AD, etc.) et le jeton d’accès, s’il est disponible

| Paramètre       | Description                                   |
| --------------- | --------------------------------------------- |
| `mapIdentities` | *Booléen* Les identités doivent être mappées. |

### `api.samlResponse.setDestination(destination)`

Destination de la réponse SAML. Si elle n’est pas spécifiée, il s’agira de AssertionConsumerUrl du SAMLRequest ou de l’URL de rappel s’il n’y a pas eu de SAMLRequest.

| Paramètre     | Description                              |
| ------------- | ---------------------------------------- |
| `destination` | *Chaîne* Destination de la réponse SAML. |

### `api.samlResponse.setRelayState(relayState)`

Modifie le RelayState de la réponse SAML. La valeur par défaut est `RelayState` sur `SAMLRequest`.

| Paramètre    | Description                             |
| ------------ | --------------------------------------- |
| `relayState` | *Chaîne* RelayState de la réponse SAML. |

### `api.samlResponse.setLifetimeInSeconds(lifetimeInSeconds)`

Expiration du jeton en secondes. La valeur par défaut est de `3600` secondes (1 heure).

| Paramètre           | Description                               |
| ------------------- | ----------------------------------------- |
| `lifetimeInSeconds` | *Nombre* Expiration du jeton en secondes. |

### `api.samlResponse.setSignResponse(signResponse)`

Indique si la réponse SAML doit être signée ou non. Par défaut, l’assertion SAML sera signée, mais pas la réponse SAML. Si `true`, la réponse SAML sera signée au lieu de l’assertion SAML. Valeur par défaut `false`.

| Paramètre      | Description                                      |
| -------------- | ------------------------------------------------ |
| `signResponse` | *Booléen* La réponse SAML doit-elle être signée? |

### `api.samlResponse.setNameIdentifierFormat(nameIdentifierFormat)`

Définit le format d’ID du nom. Valeur par défaut `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`

| Paramètre              | Description                     |
| ---------------------- | ------------------------------- |
| `nameIdentifierFormat` | *Chaîne* Le format d’ID du nom. |

### `api.samlResponse.setNameIdentifierProbes(nameIdentifierProbes)`

Auth0 essaie de nommer chacun des attributs de ce tableau dans l’ordre. Si l’un d’entre eux a une valeur, il l’utilisera pour le Objet/NameID. L’ordre est le suivant :

1. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier) (mappé à partir de `user_id`)
2. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) (mappé à partir de `email`)
3. [http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name](http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name) (mappé à partir de `name`)

| Paramètre              | Description                                                                      |
| ---------------------- | -------------------------------------------------------------------------------- |
| `nameIdentifierProbes` | *Tableau de chaînes* Un tableau d’attributs à essayer pour l’identifiant du nom. |

### `api.samlResponse.setAuthnContextClassRef(authnContextClassRef)`

Valeur par défaut `urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified`.

| Paramètre              | Description                       |
| ---------------------- | --------------------------------- |
| `authnContextClassRef` | *Chaîne* La AuthnContextClassRef. |

### `api.samlResponse.setSigningCert(signingCert)`

Indique facultativement le certificat de clé publique utilisé pour valider les requêtes SAML. Si cette option est activée, les demandes SAML devront être signées. Une valeur d’exemple serait `"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| Paramètre     | Description                                                                            |
| ------------- | -------------------------------------------------------------------------------------- |
| `signingCert` | *Chaîne* Certificat de clé publique facultatif utilisé pour valider les demandes SAML. |

### `api.samlResponse.setIncludeAttributeNameFormat(includeAttributeNameFormat)`

Lorsque défini sur `true`, nous inférons le NameFormat sur la base du nom de l’attribut. Les valeurs NameFormat sont `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`, `urn:oasis:names:tc:SAML:2.0:attrname-format:basic` et `urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified`.

S’il est défini à `false`, l’attribut NameFormat n’est pas défini dans l’assertion. Valeur par défaut `true`.

| Paramètre                    | Description                                                                  |
| ---------------------------- | ---------------------------------------------------------------------------- |
| `includeAttributeNameFormat` | *Booléen*Le NameFormat doit-il être inféré sur la base du nom de l’attribut. |

### `api.samlResponse.setTypedAttributes(typedAttributes)`

Lorsque défini sur `true`, nous inférons le `xs:type` de l’élément. Les types sont `xs:string`, `xs:boolean`, `xs:double` et `xs:anyType`. Lorsqu’il est réglé sur `false` tous les `xs:type` sont `xs:anyType`. Valeur par défaut `true`.

| Paramètre         | Description                             |
| ----------------- | --------------------------------------- |
| `typedAttributes` | *Booléen*Devrait `xs:type` être inféré. |

### `api.samlResponse.setEncryptionCert(encryptionCert)`

Indiquer éventuellement un certificat utilisé pour chiffrer l'assertion SAML. Le certificat doit être obtenu auprès du fournisseur de services. Le certificat et la clé publique doivent être spécifiés. Une valeur d’exemple serait `"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| Paramètre        | Description                                                   |
| ---------------- | ------------------------------------------------------------- |
| `encryptionCert` | *Chaîne*Certificat facultatif pour chiffrer l’assertion SAML. |

### `api.samlResponse.setCert(cert)`

Par défaut, Auth0 utilise la paire de clés privée/publique attribuée à votre locataire pour signer les réponses ou assertions SAML. Pour des scénarios très spécifiques, vous pouvez souhaiter fournir votre propre certificat et votre propre clé privée.

Le certificat et la clé privée doivent être spécifiés.

Une valeur d’exemple serait `"-----BEGIN
CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END CERTIFICATE-----\n"`.

| Paramètre | Description                                                                |
| --------- | -------------------------------------------------------------------------- |
| `cert`    | *Chaîne*Certificat facultatif pour signer les réponses ou assertions SAML. |

### `api.samlResponse.setKey(key)`

Par défaut, Auth0 utilise la paire de clés privée/publique attribuée à votre locataire pour signer les réponses ou assertions SAML. Pour des scénarios très spécifiques, vous pouvez souhaiter fournir votre propre certificat et votre propre clé privée.

Cette clé privée étant sensible, il est recommandé d’utiliser la **fonctionnalité Ajouter un secret d’Actions**. Voir ici pour plus de détails : Rédigez votre première Action

Le certificat et la clé privée doivent être spécifiés.

Une valeur d’exemple serait `"-----BEGIN PRIVATE
KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all
the other lines..]-----END PRIVATE KEY-----\n"`.

| Paramètre | Description                                                                 |
| --------- | --------------------------------------------------------------------------- |
| `key`     | *Chaîne*Clé privée facultative pour signer les réponses ou assertions SAML. |

### `api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)`

**Obsolète**: La valeur par défaut est `rsa-sha256`

| Paramètre            | Description                                                                          |
| -------------------- | ------------------------------------------------------------------------------------ |
| `signatureAlgorithm` | `rsa-sha256` \| `rsa-sha1`. `rsa-sha1` ne devrait pas être utilisé. C’est dangereux. |

### `api.samlResponse.setDigestAlgorithm(digestAlgorithm)`

**Obsolète**: La valeur par défaut est `sha256`

| Paramètre         | Description                                                                  |
| ----------------- | ---------------------------------------------------------------------------- |
| `digestAlgorithm` | `sha256` \| `sha1`. `rsa-sha1` ne devrait pas être utilisé. C’est dangereux. |

## `api.session`

Gérez les sessions, par exemple en révoquant une session utilisateur.

### `api.session.revoke(reason, options)`

Rejetez la transaction en cours, révoquez la session et supprimez les jetons d’actualisation associés. Cela empêchera l’utilisateur de terminer le flux et aucune autre Action ne sera exécutée.

**Remarque** Cette méthode initie une session révoquée [OIDC Back-Channel Logout Initiator](https://auth0.com/docs/authenticate/login/logout/back-channel-logout/oidc-back-channel-logout-initiators) pour déconnecter les utilisateurs de toutes les applications liées à la session en cours. La suppression des jetons d’actualisation associés à la session est une opération asynchrone.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                                                                                                                                                                             |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `reason`  | *Chaîne*. Une explication lisible par l’être humain du rejet de la connexion. Elle est envoyée en tant que `error_description` à l’application qui a initié la demande.                                                                                                                                 |
| `options` | *preserveRefreshTokens*. il s’agit d’un booléen utilisé pour spécifier si la révocation doit préserver les jetons d’actualisation liés à la session avec le même `session_id`. La valeur par défaut est `false`.<br />Exemple<br />`js api.session.revoke('reason', {'preserveRefreshTokens':true} ); ` |

### `api.session.setExpiresAt(absolute)`

Définit une nouvelle date d’expiration absolue pour une session donnée.

Renvoie une référence à l’objet `api`.

| Paramètre  | Description                                                                   |
| ---------- | ----------------------------------------------------------------------------- |
| `absolute` | *Nombre*. Le temps d’expiration absolu en millisecondes depuis l’époque Unix. |

### `api.session.setIdleExpiresAt(idle)`

Définit une nouvelle date d’expiration de l’inactivité pour une session donnée.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                   |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `idle`    | *Nombre*. Le temps d’expiration de l’inactivité en millisecondes depuis l’époque Unix.<br />Cette méthode définit le délai d’inactivité de la session pour l’interaction en cours. Si la méthode n’est pas réappliquée, les interactions ultérieures réussies remplaceront le délai d’inactivité à l’aide des paramètres de délai d’inactivité de la session. |

## `api.refreshToken`

Gérer les jetons d’actualisation, comme en révoquant un jeton d’actualisation.

### `api.refreshToken.revoke(reason)`

Rejeter l’échange de jeton en cours et révoquez le jeton d’actualisation Cela empêchera l’utilisateur de terminer le flux et aucune autre Action ne sera exécutée.

Renvoie une référence à l’objet `api` .

| Paramètre | Description                                                                                                                                                                     |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `reason`  | *Chaîne*. Une explication lisible par l’être humain du rejet du jeton d’actualisation. Elle est envoyée en tant que error\_description à l’application qui a initié la demande. |

### `api.refreshToken.setExpiresAt(absolute)`

Définit une nouvelle date d’expiration absolue pour un jeton d’actualisation spécifié.

Renvoie une référence à l’objet `api`.

| Paramètre  | Description                                                                   |
| ---------- | ----------------------------------------------------------------------------- |
| `absolute` | *Nombre*. Le temps d’expiration absolu en millisecondes depuis l’époque Unix. |

### `api.refreshToken.setIdleExpiresAt(idle)`

Définit une nouvelle date d’expiration de l’inactivité pour un jeton d’actualisation spécifié.

Renvoie une référence à l’objet `api`.

| Paramètre | Description                                                                                                                                                                                                                                                                                                                                                                         |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `idle`    | *Nombre*. Le temps d’expiration de l’inactivité en millisecondes depuis l’époque Unix.<br />Cette méthode définit le délai d’inactivité du jeton d’actualisation pour l’interaction en cours. Si la méthode n’est pas réappliquée, les interactions ultérieures réussies remplaceront le délai d’inactivité à l’aide des paramètres de délai d’inactivité du jeton d’actualisation. |
