> ## 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 password-reset-post-challenge d'Actions.

# Déclencheurs d'Actions : password-reset-post-challenge - objet API

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

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

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

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

Marque la tentative en cours de réinitialisation du mot de passe comme refusée. Cela empêchera l’utilisateur de terminer
le flux de réinitialisation du mot de passe. Cela *N’ANNULERA PAS* les autres effets secondaires liés à l’utilisateur
demandés par cette Action. Le flux de réinitialisation du 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.

<ResponseField name="reason" type="string">
  Une explication en langage clair du refus de la réinitialisation du mot de passe. Elle peut être affichée
  directement dans les interfaces utilisateur.
</ResponseField>

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

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

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

Demande un défi d’authentification multifacteur à l’aide du facteur fourni et, au besoin, de facteurs additionnels.

Lorsqu’un défi multifacteur est demandé, les Actions suivantes ne s’exécuteront pas tant que l’utilisateur n’aura pas
réussi ce défi. Un utilisateur aura satisfait au défi dans l’une ou l’autre des situations suivantes :

1. Il réussit le défi pour le facteur par défaut.
2. Il réussit le défi pour l’un des facteurs facultatifs décrits dans `additionalFactors`.

Si l’un des facteurs demandés a déjà été validé avec succès dans la transaction en cours, il sera
ignoré.

Si un facteur demandé n’est pas activé pour le locataire, il sera ignoré. Si un facteur demandé n’a pas été
inscrit par l’utilisateur, il sera ignoré. Si aucun des facteurs demandés n’est activé ou inscrit, la transaction
d’authentification échouera (c.-à-d. que la connexion ne se terminera pas).

<Note>
  Cette méthode affichera un écran de défi de facteur si l’utilisateur n’a pas déjà satisfait
  aux exigences du défi. Si `additionalFactors` est fourni, l’utilisateur pourra
  sélectionner un autre facteur s’il le souhaite.
</Note>

<ResponseField name="factor" type="factorselector">
  Un objet qui décrit le type de facteur et les options à utiliser pour le défi initial.

  <Expandable title="propriétés du facteur" defaultOpen>
    <ResponseField name="type" type="string">
      Valeurs autorisées : `otp`, `email`, `webauthn-platform`, `webauthn-roaming`, `recovery-code`
    </ResponseField>

    <ResponseField name="options" type="dictionary" post={["optional"]} />
  </Expandable>
</ResponseField>

<ResponseField name="options" type="challengewithoptions" post={["optional"]}>
  Options supplémentaires qui peuvent aussi inclure `additionalFactors` comme propriété.

  <Expandable title="propriétés des options" defaultOpen>
    <ResponseField name="additionalFactors" type="array of objects" post={["optional"]} />
  </Expandable>
</ResponseField>

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

Demandez un défi d’authentification multifacteur à l’aide de l’un des facteurs fournis (en affichant d’abord un écran
de sélection du facteur).

Lorsqu’un défi multifacteur est demandé, les Actions suivantes ne s’exécutent pas tant que ce défi n’a pas été
rempli par l’utilisateur. Un utilisateur aura satisfait au défi dans l’un ou l’autre des cas suivants :

1. Il réussit le défi pour l’un des facteurs.

Si l’un des facteurs demandés a déjà fait l’objet d’un défi réussi dans la transaction en cours, il sera
ignoré.

Si un facteur demandé n’est pas activé pour le locataire, il sera ignoré. Si un facteur demandé n’est pas
inscrit pour l’utilisateur, il sera ignoré. Si aucun des facteurs demandés n’est activé ou inscrit, la
transaction d’authentification échouera (c.-à-d. que la connexion ne se terminera pas).

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

<ResponseField name="factors" type="array of objects">
  Un tableau de facteurs.
</ResponseField>

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

Configurer et initier des redirections externes.

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

Créez un jeton de session pouvant être utilisé comme paramètre de chaîne de requête pour une redirection (via `sendUserTo`) et
contenant 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 validant la signature du JWT
à l’aide d’un secret partagé.

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

<ResponseField name="options" type="tokencreationoptions">
  Configurez la façon dont les données sensibles sont encodées dans les paramètres de requête de l’URL
  résultante.

  <Expandable title="propriété des options" defaultOpen>
    <ResponseField name="expiresInSeconds" type="number" post={["optional"]}>
      Nombre de secondes avant l’expiration de ce jeton
    </ResponseField>

    <ResponseField name="payload" type="dictionary">
      Les données à transmettre à la cible de redirection et dont l’authenticité
      et l’intégrité doivent pouvoir être prouvées.
    </ResponseField>

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

<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
la fin de cette action. La méthode utilitaire `createUrl` est fournie pour simplifier l’encodage des
données en tant que paramètre de requête dans l’`url` cible, afin que l’authenticité et
l’intégrité des données puissent être vérifiées par le point de terminaison cible.

<ResponseField name="url" type="string" />

<ResponseField name="options" type="sendusertooptions" post={["optional"]}>
  <Expandable title="propriété des options" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      Objet représentant des paramètres de chaîne de requête supplémentaires à ajouter à
      l’URL de redirection.
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

<ResponseField name="options" type="validatesessiontokenoptions">
  Options pour récupérer les données encodées dans un JWT transmis au
  point de terminaison `/continue` après une redirection.

  <Expandable title="propriété des options" defaultOpen>
    <ResponseField name="secret" type="string" />

    <ResponseField name="tokenParameterName" type="string" post={["optional"]}>
      Le nom du paramètre de requête ou du corps envoyé au point de terminaison /continue.
    </ResponseField>
  </Expandable>
</ResponseField>

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

Modifiez le cache.

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

Supprime le Record décrivant une valeur mise en cache associé à la
clé fournie, s’il existe.

<ResponseField name="key" type="string">
  La clé du Record de cache à supprimer.
</ResponseField>

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

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

<ResponseField name="key" type="string">
  La clé du Record stocké dans le cache.
</ResponseField>

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

Stocke ou met à jour une valeur de chaîne dans le cache pour 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 assujetties aux [Actions Cache Limits](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 spécifiées pour `ttl` ou `expires_at`. 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 [Actions Cache Limits](https://auth0.com/docs/customize/actions/limitations).

**Important** : Ce cache est conçu pour des données éphémères de courte durée. Il se peut que des éléments ne soient pas
disponibles dans des transactions ultérieures, même si leur durée de vie n’est pas encore expirée.

<ResponseField name="key" type="string">
  La clé du Record à stocker.
</ResponseField>

<ResponseField name="value" type="string">
  La valeur du Record à stocker.
</ResponseField>

<ResponseField name="options" type="cachesetoptions" post={["optional"]}>
  Options pour ajuster le comportement du cache.

  <Expandable title="propriété des options" defaultOpen>
    <ResponseField name="expires_at" type="number" post={["optional"]}>
      La date d’expiration absolue en millisecondes depuis l’époque Unix.
      Bien que les Records 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 aussi été
      fournie pour `ttl`. Si les deux options sont fournies, la
      plus rapprochée des deux expirations sera utilisée.
    </ResponseField>

    <ResponseField name="ttl" type="number" post={["optional"]}>
      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 aussi été
      fournie pour `expires_at`. Si les deux options sont fournies, la
      plus rapprochée des deux expirations sera utilisée.
    </ResponseField>
  </Expandable>
</ResponseField>

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

<ResponseField name="promptId" type="string">
  L’ID de l’invite.
</ResponseField>

<ResponseField name="promptOptions" type="promptoptions" post={["optional"]}>
  Les options de rendu.

  <Expandable title="Propriétés de promptOptions" defaultOpen>
    <ResponseField name="fields" type="dictionary" post={["optional"]}>
      Paires clé-valeur pour préremplir les valeurs des champs (côté client).
    </ResponseField>

    <ResponseField name="vars" type="dictionary" post={["optional"]}>
      Paires clé-valeur pour injecter des variables (côté serveur).
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

<ResponseField name="url" type="string">
  L’URL vers laquelle rediriger l’utilisateur.
</ResponseField>

<ResponseField name="options" type="resulturloptions" post={["optional"]}>
  <Expandable title="propriété des options" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      Les paramètres de requête à inclure dans l’URL.
    </ResponseField>
  </Expandable>
</ResponseField>
