> ## 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 l’objet API du déclencheur Actions password-reset-post-challenge.

# Objet API

L’objet API du déclencheur Actions password-reset-post-challenge comprend :

<div id="apiaccess">
  ## `api.access`
</div>

Modifiez l’accès de l’utilisateur qui tente de réinitialiser son mot de passe.

<div id="apiaccessdenyreason">
  ### `api.access.deny(reason)`
</div>

Marquez la tentative actuelle de réinitialisation de mot de passe comme rejetée. L’utilisateur final ne pourra alors pas terminer
le processus de réinitialisation de mot de passe. Cela n’*ANNULERA PAS* les autres effets secondaires liés à l’utilisateur
demandés par cette Action. Le processus de réinitialisation de mot de passe s’arrêtera immédiatement après
l’exécution de cette action, et aucune autre Action ne sera exécutée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="reason" type="string">
    Une explication claire du rejet de la réinitialisation de mot de passe. Celle-ci peut être affichée
    directement dans les interfaces destinées aux utilisateurs finaux.
  </ParamField>
</Expandable>

<div id="apiauthentication">
  ## `api.authentication`
</div>

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

<div id="apiauthenticationchallengewithfactor-options">
  ### `api.authentication.challengeWith(factor, options)`
</div>

Demande une vérification multifacteur à l’aide du facteur fourni et de facteurs supplémentaires facultatifs.

Lorsqu’une vérification multifacteur est demandée, les Actions suivantes ne s’exécutent pas tant que l’utilisateur n’a pas répondu à cette vérification. Un utilisateur aura répondu à la vérification dans l’une ou l’autre des situations suivantes :

1. Il répond avec succès à la vérification associée au facteur par défaut.
2. Il répond avec succès à la vérification associée à l’un des facteurs facultatifs décrits dans `additionalFactors`.

Si l’un des facteurs demandés a déjà fait l’objet d’une vérification réussie dans la transaction actuelle, il est ignoré.

Si un facteur demandé n’est pas activé dans le tenant, il est ignoré. Si l’utilisateur n’est pas inscrit à un facteur demandé, celui-ci est ignoré. Si aucun des facteurs demandés n’est activé ou si l’utilisateur n’y est pas inscrit, la transaction d’authentification échoue (c.-à-d. que la connexion ne se termine pas).

<Note>
  Cette méthode affiche un écran de vérification de facteur si l’utilisateur n’a pas déjà satisfait aux exigences de la vérification. Si des `additionalFactors` sont fournis, l’utilisateur peut choisir un autre facteur.
</Note>

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="factor" type="factorselector">
    Objet décrivant le type de facteur et les options à utiliser pour la vérification initiale.

    <Expandable title="propriétés du facteur">
      <ParamField body="type" type="string">
        Valeurs permises : `otp`, `email`, `webauthn-platform`, `webauthn-roaming`, `recovery-code`
      </ParamField>

      <ParamField body="options" type="dictionary">
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>

  <ParamField body="options" type="challengewithoptions">
    Options supplémentaires pouvant également définir `additionalFactors` comme propriété.
    Facultatif.

    <Expandable title="propriétés des options">
      <ParamField body="additionalFactors" type="array of objects">
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiauthenticationchallengewithanyfactors">
  ### `api.authentication.challengeWithAny(factors)`
</div>

Demande une vérification d’authentification multifacteur à l’aide de l’un des facteurs fournis (en affichant d’abord un écran de sélection des facteurs).

Lorsqu’une vérification multifacteur est demandée, les Actions suivantes ne sont pas exécutées tant que l’utilisateur n’y a pas répondu. Un utilisateur aura satisfait à la vérification dans l’une ou l’autre des situations suivantes :

1. Il termine avec succès la vérification associée à l’un des facteurs.

Si l’un des facteurs demandés a déjà fait l’objet d’une vérification réussie dans la transaction en cours, il est ignoré.

Si un facteur demandé n’est pas activé dans le tenant, il est ignoré. Si un facteur demandé n’a pas été enregistré par l’utilisateur, il est ignoré. Si aucun des facteurs demandés n’est activé ou enregistré, la transaction d’authentification échoue (c.-à-d. que la connexion n’est pas effectuée).

<Note>
  Cette méthode affiche l’écran de sélection des facteurs si l’utilisateur n’a pas déjà satisfait aux exigences de la vérification. Si un facteur est privilégié, il est préférable d’utiliser la méthode `api.authentication.challengeWith()`. L’écran de sélection des facteurs ne s’affiche pas si un seul facteur est transmis ou valide.
</Note>

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="factors" type="array of objects">
    Un tableau de facteurs.
  </ParamField>
</Expandable>

<div id="apiredirect">
  ## `api.redirect`
</div>

Configurez et lancez des redirections externes.

<div id="apiredirectencodetokenoptions">
  ### `api.redirect.encodeToken(options)`
</div>

Crée un jeton de session pouvant être utilisé comme paramètre de chaîne de requête pour la cible de redirection (au moyen de `sendUserTo`)
et contenant des données dont l’authenticité doit pouvoir être vérifié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 vérifiant la signature du JWT
à l’aide d’un secret partagé.

Le secret partagé doit être stocké dans un **secret** de l’Action et est accessible à l’emplacement
`event.secrets['<secret_name>']`.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="options" type="tokencreationoptions">
    Configure la façon dont les données sensibles sont encodées dans les paramètres de requête de l’URL
    obtenue.

    <Expandable title="propriétés des options">
      <ParamField body="expiresInSeconds" type="number">
        Nombre de secondes avant l’expiration de ce jeton.
        Facultatif.
      </ParamField>

      <ParamField body="payload" type="dictionary">
        Les données destinées à être transmises à la cible de redirection et dont l’authenticité
        et l’intégrité doivent pouvoir être vérifiées.
      </ParamField>

      <ParamField body="secret" type="string">
        Un secret utilisé pour signer un JWT partagé avec la cible de redirection. La
        valeur du secret doit être stockée dans un **secret** et récupérée à l’aide de
        `event.secrets['<secret_name>']`.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiredirectsendusertourl-options">
  ### `api.redirect.sendUserTo(url, options)`
</div>

Déclenche une redirection du navigateur vers l’`url` cible dans le pipeline de réinitialisation du mot de passe, immédiatement après l’exécution de cette action. La méthode d’assistance `createUrl` permet de simplifier l’encodage de données sous forme de paramètre de requête dans l’`url` cible, afin que le point de terminaison cible puisse en vérifier l’authenticité et l’intégrité.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="url" type="string" />

  <ParamField body="options" type="sendusertooptions">
    Facultatif.

    <Expandable title="propriétés d’options">
      <ParamField body="query" type="dictionary">
        Objet représentant des paramètres de chaîne de requête supplémentaires à ajouter à l’URL de redirection.
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiredirectvalidatetokenoptions">
  ### `api.redirect.validateToken(options)`
</div>

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.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="options" type="validatesessiontokenoptions">
    Options permettant de récupérer les données encodées dans un jeton JWT transmis au
    point de terminaison `/continue` après une redirection.

    <Expandable title="propriétés des options">
      <ParamField body="secret" type="string" />

      <ParamField body="tokenParameterName" type="string">
        Le nom du paramètre de requête ou du corps envoyé au point de terminaison `/continue`.
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apicache">
  ## `api.cache`
</div>

Modifiez le cache.

<div id="apicachedeletekey">
  ### `api.cache.delete(key)`
</div>

Supprime, s’il existe, l’enregistrement décrivant la valeur mise en cache associée à la
clé fournie.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement du cache à supprimer.
  </ParamField>
</Expandable>

<div id="apicachegetkey">
  ### `api.cache.get(key)`
</div>

Récupère l’enregistrement décrivant la valeur mise en cache associée à la clé fournie,
s’il existe. Si un enregistrement est trouvé, la valeur mise en cache se trouve
dans la propriété `value` de l’objet retourné.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement stocké dans le cache.
  </ParamField>
</Expandable>

<div id="apicachesetkey-value-options">
  ### `api.cache.set(key, value, options)`
</div>

Stocke ou met à jour une valeur de type chaîne dans le cache sous 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 du cache Actions](https://auth0.com/docs/customize/actions/limitations).

Les valeurs stockées de cette façon auront une durée de vie pouvant aller *jusqu’aux* valeurs
`ttl` ou `expires_at` spécifiées. Si aucune durée de vie n’est spécifiée, une durée de vie
par défaut de 15 minutes sera utilisée. Les durées de vie ne peuvent pas dépasser la durée
maximale indiquée dans les [limites du cache Actions](https://auth0.com/docs/customize/actions/limitations).

**Important** : Ce cache est conçu pour stocker des données éphémères à court terme. Les éléments pourraient ne pas être
disponibles lors de transactions ultérieures, même si leur durée de vie n’est pas encore écoulée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="key" type="string">
    La clé de l’enregistrement à stocker.
  </ParamField>

  <ParamField body="value" type="string">
    La valeur de l’enregistrement à stocker.
  </ParamField>

  <ParamField body="options" type="cachesetoptions">
    Options permettant d’ajuster le comportement du cache.
    Facultatif.

    <Expandable title="propriétés des options">
      <ParamField body="expires_at" type="number">
        L’heure d’expiration absolue, en millisecondes depuis l’époque Unix.
        Bien que les enregistrements mis en cache puissent être évincés plus tôt, ils ne
        seront jamais conservés au-delà de la valeur `expires_at` fournie.

        *Remarque* : Cette valeur ne doit pas être fournie si une valeur a également
        été fournie pour `ttl`. Si les deux options sont fournies, la date d’expiration
        la plus rapprochée sera utilisée.
        Facultatif.
      </ParamField>

      <ParamField body="ttl" type="number">
        La durée de vie de cette entrée de cache, en millisecondes.
        Bien que les valeurs mises en cache puissent être évincées plus tôt, elles ne
        seront jamais conservées au-delà de la valeur `ttl` fournie.

        *Remarque* : Cette valeur ne doit pas être fournie si une valeur a également
        été fournie pour `expires_at`. Si les deux options sont fournies, la date d’expiration
        la plus rapprochée sera utilisée.
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apiprompt">
  ## `api.prompt`
</div>

Affiche une invite personnalisée.

<div id="apipromptrenderpromptid-promptoptions">
  ### `api.prompt.render(promptId, promptOptions)`
</div>

Affiche une invite personnalisée.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="promptId" type="string">
    L’ID du prompt.
  </ParamField>

  <ParamField body="promptOptions" type="promptoptions">
    Les options de rendu.
    Facultatif.

    <Expandable title="Propriétés de promptOptions">
      <ParamField body="fields" type="dictionary">
        Paires clé-valeur permettant de remplir les champs (côté client).
        Facultatif.
      </ParamField>

      <ParamField body="vars" type="dictionary">
        Paires clé-valeur pour injecter des variables (côté serveur).
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>

<div id="apitransaction">
  ## `api.transaction`
</div>

Configurez la transaction.

<div id="apitransactionsetresulturlurl-options">
  ### `api.transaction.setResultUrl(url, options)`
</div>

Définit l’URL vers laquelle l’utilisateur doit être redirigé après la réinitialisation du mot de passe.

**Paramètres**

<Expandable title="Paramètres" defaultOpen>
  <ParamField body="url" type="string">
    L’URL vers laquelle rediriger l’utilisateur.
  </ParamField>

  <ParamField body="options" type="resulturloptions">
    Facultatif.

    <Expandable title="propriétés des options">
      <ParamField body="query" type="dictionary">
        Les paramètres de requête à inclure dans l’URL.
        Facultatif.
      </ParamField>
    </Expandable>
  </ParamField>
</Expandable>
