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

> Obtén información sobre el objeto de la API del desencadenador de Actions password-reset-post-challenge.

# Desencadenadores de Actions: password-reset-post-challenge - Objeto de la API

El objeto de la API del desencadenador de Actions password-reset-post-challenge incluye:

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

Modifica el acceso del usuario que está intentando restablecer su contraseña.

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

Marca el intento actual de restablecimiento de contraseña como denegado. Esto impedirá que el usuario final complete
el flujo de restablecimiento de contraseña. Esto *NO* cancelará otros efectos secundarios relacionados con el usuario
solicitados por esta Action. El flujo de restablecimiento de contraseña se detendrá inmediatamente tras
completarse esta acción y no se ejecutará ninguna Action adicional.

<ResponseField name="reason" type="string">
  Una explicación en lenguaje claro del motivo por el que se rechaza el restablecimiento de contraseña. Puede mostrarse
  directamente en las interfaces del usuario final.
</ResponseField>

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

Solicita cambios en el estado de autenticación de la sesión del usuario actual.

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

Solicita un desafío de autenticación multifactor con el factor proporcionado y factores adicionales opcionales.

Cuando se solicita un desafío multifactor, las Actions posteriores no se ejecutarán hasta que el usuario haya
completado ese desafío. Se considerará que un usuario ha superado el desafío en cualquiera de las siguientes situaciones:

1. Completa correctamente el desafío para el factor predeterminado.
2. Completa correctamente el desafío para cualquiera de los factores opcionales descritos en `additionalFactors`.

Si alguno de los factores solicitados ya se ha completado correctamente en la transacción actual, se
ignorará.

Si se solicita un factor que no está habilitado en el inquilino, se ignorará. Si se solicita un factor en el que el usuario
no se ha inscrito, se ignorará. Si ninguno de los factores solicitados está habilitado o inscrito, la transacción de autenticación
fallará (es decir, el inicio de sesión no se completará).

<Note>
  Este método hará que se muestre una pantalla de desafío del factor si el usuario aún no ha cumplido
  los requisitos del desafío. Si se proporcionan `additionalFactors`, el usuario tendrá la opción de
  seleccionar otro factor si así lo desea.
</Note>

<ResponseField name="factor" type="factorselector">
  Un objeto que describe el tipo de factor y las opciones que deben usarse para el desafío inicial.

  <Expandable title="propiedades de factor" defaultOpen>
    <ResponseField name="type" type="string">
      Valores permitidos: `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"]}>
  Opciones adicionales que también pueden especificar `additionalFactors` como una propiedad.

  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="additionalFactors" type="array of objects" post={["optional"]} />
  </Expandable>
</ResponseField>

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

Solicita un desafío de autenticación multifactor con cualquiera de los factores proporcionados (mostrando primero una
pantalla de selección de factores).

Cuando se solicita un desafío multifactor, las Actions posteriores no se ejecutarán hasta que el usuario haya
completado ese desafío. Se considerará que un usuario ha superado el desafío en cualquiera de las siguientes situaciones:

1. Completa correctamente el desafío para cualquiera de los factores.

Si alguno de los factores solicitados ya se superó correctamente en la transacción actual, se
ignorará.

Si se solicita un factor que no está habilitado en el inquilino, se ignorará. Si se solicita un factor en el que el usuario
no se ha inscrito, se ignorará. Si ninguno de los factores solicitados está habilitado o inscrito, la
transacción de autenticación fallará (es decir, el inicio de sesión no se completará).

<Note>
  Este método hará que se muestre la pantalla de selección de factores si el usuario aún no ha cumplido
  los requisitos del desafío. Si hay un factor preferido, se prefiere el método `api.authentication.challengeWith()`.
  La pantalla de selección de factores no se mostrará si solo se pasa un factor o si solo uno es válido.
</Note>

<ResponseField name="factors" type="array of objects">
  Una lista de factores.
</ResponseField>

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

Configura e inicia redirecciones externas.

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

Crea un token de sesión apto para usarlo como parámetro de cadena de consulta del destino de redirección (mediante `sendUserTo`)
que contenga datos cuya autenticidad deba poder demostrarse ante el endpoint de destino. El endpoint de destino
puede verificar la autenticidad e integridad de los datos comprobando la firma del JWT
mediante un secreto compartido.

El secreto compartido debe almacenarse como un **secret** de la Action y podrá leerse en
`event.secrets['<secret_name>']`.

<ResponseField name="options" type="tokencreationoptions">
  Configura cómo se codifican los datos sensibles en los parámetros de consulta de la
  URL resultante.

  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="expiresInSeconds" type="number" post={["optional"]}>
      Número de segundos antes de que este token expire
    </ResponseField>

    <ResponseField name="payload" type="dictionary">
      Los datos que se pasarán al destino de la redirección y cuya autenticidad
      e integridad deben poder demostrarse.
    </ResponseField>

    <ResponseField name="secret" type="string">
      Un secreto que se usará para firmar un JWT que se comparte con el destino de la redirección. El
      valor del secreto debe almacenarse como un **secret** y recuperarse mediante
      `event.secrets['<secret_name>']`.
    </ResponseField>
  </Expandable>
</ResponseField>

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

Hace que el flujo de restablecimiento de contraseña active una redirección del navegador a la `url` de destino inmediatamente después de que
se complete esta acción. El método auxiliar `createUrl` se proporciona para simplificar la codificación de
datos como parámetro de consulta en la `url` de destino, de modo que el endpoint de destino pueda verificar la autenticidad y la
integridad de los datos.

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

<ResponseField name="options" type="sendusertooptions" post={["optional"]}>
  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      Un objeto que representa parámetros adicionales de la cadena de consulta que deben añadirse a
      la URL de redirección.
    </ResponseField>
  </Expandable>
</ResponseField>

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

Recupera los datos codificados en un token JWT que se pasó al endpoint `/continue` y verifica
la autenticidad e integridad de esos datos.

<ResponseField name="options" type="validatesessiontokenoptions">
  Opciones para recuperar los datos codificados en un token JWT que se pasó al
  endpoint `/continue` después de una redirección.

  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="secret" type="string" />

    <ResponseField name="tokenParameterName" type="string" post={["optional"]}>
      El nombre del parámetro de consulta o del cuerpo que se envió al endpoint /continue.
    </ResponseField>
  </Expandable>
</ResponseField>

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

Permite realizar cambios en la caché.

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

Elimina el registro que describe un valor almacenado en caché en la
clave proporcionada, si existe.

<ResponseField name="key" type="string">
  La clave del registro de caché que se va a eliminar.
</ResponseField>

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

Obtiene un registro que describe un valor almacenado en caché para la clave proporcionada,
si existe. Si se encuentra un registro, el valor almacenado en caché está
en la propiedad `value` del objeto devuelto.

<ResponseField name="key" type="string">
  La clave del registro almacenado en caché.
</ResponseField>

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

Almacena o actualiza un valor de cadena en la caché con la clave especificada.

Los valores almacenados en esta caché se limitan al desencadenador en el que
se establecen. Están sujetos a los [límites de la caché de Actions](https://auth0.com/docs/customize/actions/limitations).

Los valores almacenados de esta forma tendrán una duración de *hasta* los valores
especificados en `ttl` o `expires_at`. Si no se especifica ninguna duración, se usará una
duración predeterminada de 15 minutos. Las duraciones no pueden superar la duración máxima
indicada en [los límites de la caché de Actions](https://auth0.com/docs/customize/actions/limitations).

**Importante**: Esta caché está diseñada para datos efímeros de corta duración. Es posible que los elementos no estén
disponibles en transacciones posteriores aunque sigan dentro del tiempo de vida especificado.

<ResponseField name="key" type="string">
  La clave del registro que se almacenará.
</ResponseField>

<ResponseField name="value" type="string">
  El valor del registro que se almacenará.
</ResponseField>

<ResponseField name="options" type="cachesetoptions" post={["optional"]}>
  Opciones para ajustar el comportamiento de la caché.

  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="expires_at" type="number" post={["optional"]}>
      La hora de vencimiento absoluta en milisegundos desde la época de Unix.
      Aunque los registros almacenados en caché pueden eliminarse antes, nunca
      permanecerán más allá del valor `expires_at` proporcionado.

      *Nota*: No se debe proporcionar este valor si también se
      proporcionó un valor para `ttl`. Si se proporcionan ambas opciones, se
      usará el vencimiento más temprano de los dos.
    </ResponseField>

    <ResponseField name="ttl" type="number" post={["optional"]}>
      El valor de tiempo de vida de esta entrada de caché en milisegundos.
      Aunque los valores almacenados en caché pueden eliminarse antes, nunca
      permanecerán más allá del valor `ttl` proporcionado.

      *Nota*: No se debe proporcionar este valor si también se
      proporcionó un valor para `expires_at`. Si se proporcionan ambas opciones, se
      usará el vencimiento más temprano de los dos.
    </ResponseField>
  </Expandable>
</ResponseField>

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

Muestra una pantalla personalizada.

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

Renderiza una pantalla personalizada.

<ResponseField name="promptId" type="string">
  El ID de la pantalla.
</ResponseField>

<ResponseField name="promptOptions" type="promptoptions" post={["optional"]}>
  Las opciones de renderizado.

  <Expandable title="propiedades de promptOptions" defaultOpen>
    <ResponseField name="fields" type="dictionary" post={["optional"]}>
      Pares clave-valor para completar los valores de los campos (en el cliente).
    </ResponseField>

    <ResponseField name="vars" type="dictionary" post={["optional"]}>
      Pares clave-valor para inyectar variables (en el servidor).
    </ResponseField>
  </Expandable>
</ResponseField>

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

Configura la transacción.

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

Establece la URL a la que se debe redirigir al usuario después de restablecer la contraseña.

<ResponseField name="url" type="string">
  La URL a la que se redirigirá al usuario.
</ResponseField>

<ResponseField name="options" type="resulturloptions" post={["optional"]}>
  <Expandable title="propiedades de options" defaultOpen>
    <ResponseField name="query" type="dictionary" post={["optional"]}>
      Los parámetros de consulta que se deben incluir en la URL.
    </ResponseField>
  </Expandable>
</ResponseField>
