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

# ResetPasswordMfaWebauthnRoamingChallenge

> Describe todos los hooks y métodos disponibles para personalizar la pantalla `reset-password-mfa-webauthn-roaming-challenge` de Universal Login.

La pantalla `reset-password-mfa-webauthn-roaming-challenge` se muestra durante el flujo de restablecimiento de contraseña cuando se requiere autenticación multifactor mediante una clave de seguridad. Indica al usuario que se autentique con su clave de seguridad de hardware externa para continuar con el proceso de restablecimiento.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/cdy7uua7fh8z/oisvWlYTRgpQ030322WZk/23921a030cdb6f1cf7b147da5315ea8e/Screenshot_2025-05-28_at_13.12.43.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=7275f40c4d91a64dbd6fc5624910a563" alt="ACUL Restablecer contraseña MFA WebAuthn con clave de seguridad" width="363" height="492" data-path="docs/images/cdy7uua7fh8z/oisvWlYTRgpQ030322WZk/23921a030cdb6f1cf7b147da5315ea8e/Screenshot_2025-05-28_at_13.12.43.png" />
</Frame>

<div id="import">
  ## Importación
</div>

Cada pantalla tiene su propio conjunto de hooks y métodos. El SDK admite la **importación parcial** y la **importación desde la raíz** para cada pantalla.

* Usar la importación parcial te permite incluir solo el código que necesitas para tu caso de uso específico.
* Usar la importación desde la raíz te permite cargar todas las pantallas desde un único bundle, lo que resulta útil cuando quieres una compilación unificada para gestionar todas las pantallas posibles.

```jsx Import Example theme={null}
// importación desde la raíz
import { useResetPasswordMfaWebAuthnRoamingChallenge } from '@auth0/auth0-acul-react';

// importación parcial
import {
  useResetPasswordMfaWebAuthnRoamingChallenge,
  // Hooks de contexto
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Hooks comunes
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks de utilidad
  useChangeLanguage,
  // Métodos
  showError,
  tryAnotherMethod,
  useSecurityKey,
} from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';

function ResetPasswordMfaWebAuthnRoamingChallengeScreen() {
  const { useSecurityKey } = useResetPasswordMfaWebAuthnRoamingChallenge();
  return (
    <button onClick={() => useSecurityKey()}>
      Authenticate with Security Key
    </button>
  );
}
```

<div id="context-hooks">
  ## Hooks de contexto
</div>

Hooks asociados a la pantalla que proporcionan acceso de solo lectura a los datos de contexto de Auth0 en la pantalla `reset-password-mfa-webauthn-roaming-challenge`. Impórtalos desde `@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge`.

<ParamField body="useBranding" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/BrandingMembers">BrandingMembers</a></span>}>
  Este hook proporciona la configuración de marca, como el logotipo, los colores y los ajustes del tema que se muestran en la pantalla `reset-password-mfa-webauthn-roaming-challenge`.

  ```jsx Example theme={null}
  import { useBranding } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function CustomTheme() {
    const branding = useBranding();
  }
  ```
</ParamField>

<ParamField body="useClient" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ClientMembers">ClientMembers</a></span>}>
  Este hook proporciona configuraciones relacionadas con el cliente, como `id`, `name` y `logoUrl`, para la pantalla `reset-password-mfa-webauthn-roaming-challenge`.

  ```jsx Example theme={null}
  import { useClient } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function AppInfo() {
    const client = useClient();
  }
  ```
</ParamField>

<ParamField body="useOrganization" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/OrganizationMembers">OrganizationMembers</a></span>}>
  Este hook proporciona información sobre la Organización del usuario si el restablecimiento de contraseña está asociado a una Organización. Devuelve `null` cuando no hay contexto de Organización.

  ```jsx Example theme={null}
  import { useOrganization } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function OrgSelector() {
    const organization = useOrganization();
    if (!organization) {
      return <p>No Organization context</p>;
    }
  }
  ```
</ParamField>

<ParamField body="usePrompt" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/PromptMembers">PromptMembers</a></span>}>
  Este hook contiene datos sobre la pantalla actual en el flujo de autenticación.

  ```jsx Example theme={null}
  import { usePrompt } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function FlowInfo() {
    const prompt = usePrompt();
  }
  ```
</ParamField>

<ParamField body="useScreen" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge">ScreenMembersOnResetPasswordMfaWebAuthnRoamingChallenge</a></span>}>
  Este hook contiene detalles específicos de la pantalla `reset-password-mfa-webauthn-roaming-challenge`, incluida su configuración y contexto.

  ```jsx Example theme={null}
  import { useScreen } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function ScreenDebug() {
    const screen = useScreen();
  }
  ```
</ParamField>

<ParamField body="useTenant" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TenantMembers">TenantMembers</a></span>}>
  Este hook contiene datos relacionados con el inquilino, como `id` y los metadatos asociados.

  ```jsx Example theme={null}
  import { useTenant } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function TenantInfo() {
    const tenant = useTenant();
  }
  ```
</ParamField>

<ParamField body="useTransaction" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/TransactionMembers">TransactionMembers</a></span>}>
  Este hook proporciona datos específicos de la transacción para la pantalla `reset-password-mfa-webauthn-roaming-challenge`, como las conexiones activas y el estado actual del flujo.

  ```jsx Example theme={null}
  import { useTransaction } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function TransactionInfo() {
    const transaction = useTransaction();
  }
  ```
</ParamField>

<ParamField body="useUntrustedData" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UntrustedDataMembers">UntrustedDataMembers</a></span>}>
  Este hook gestiona los datos no confiables que se pasan a la pantalla, como un correo electrónico o un nombre de usuario precargados desde parámetros de la URL.

  ```jsx Example theme={null}
  import { useUntrustedData } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function PrefilledForm() {
    const untrustedData = useUntrustedData();
  }
  ```
</ParamField>

<ParamField body="useUser" type={<span>() =&gt; <a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/UserMembers">UserMembers</a></span>}>
  Este hook proporciona información del usuario activo, incluidos `username`, `email` y los métodos de autenticación disponibles.

  ```jsx Example theme={null}
  import { useUser } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';
  function UserProfile() {
    const user = useUser();
  }
  ```
</ParamField>

<ParamField body="useResetPasswordMfaWebAuthnRoamingChallenge" type={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeMembers">ResetPasswordMfaWebAuthnRoamingChallengeMembers</a>}>
  Este hook devuelve todos los métodos y el contexto disponibles en la pantalla `reset-password-mfa-webauthn-roaming-challenge`.
</ParamField>

<div id="methods">
  ## Métodos
</div>

<ParamField body="showError" type="Promise<void>">
  Este método informa a Auth0 sobre un error del navegador relacionado con WebAuthn cuando falla el desafío de la clave de seguridad en el dispositivo del usuario.

  ```jsx Example theme={null}
  import { useResetPasswordMfaWebAuthnRoamingChallenge } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';

  function HandleSecurityKeyError() {
    const { showError } = useResetPasswordMfaWebAuthnRoamingChallenge();
    return (
      <button onClick={() => showError({ error: { name: 'NotAllowedError', message: 'User cancelled' } })}>
        Report Error
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [ResetPasswordMfaWebAuthnRoamingChallengeShowErrorOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeShowErrorOptions).
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      Si es `true` y `screen.showRememberDevice` también es `true`, omite MFA en inicios de sesión posteriores desde el navegador actual.
    </ParamField>

    <ParamField body="error" type={<span><a href="/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/WebAuthnErrorDetails">WebAuthnErrorDetails</a></span>} required>
      El objeto de error de la API de WebAuthn (`navigator.credentials.get()`) que se va a informar.

      <ParamField body="name" type="string" required>
        El nombre del error (por ejemplo, `'NotAllowedError'`).
      </ParamField>

      <ParamField body="message" type="string" required>
        El mensaje de error que describe qué salió mal.
      </ParamField>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="tryAnotherMethod" type="Promise<void>">
  Este método dirige al usuario a seleccionar un método de MFA diferente.

  ```jsx Example theme={null}
  import { useResetPasswordMfaWebAuthnRoamingChallenge } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';

  function TryAnotherMethodButton() {
    const { tryAnotherMethod } = useResetPasswordMfaWebAuthnRoamingChallenge();
    return (
      <button onClick={() => tryAnotherMethod()}>
        Probar otro método
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [ResetPasswordMfaWebAuthnRoamingChallengeTryAnotherMethodOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeTryAnotherMethodOptions).
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      Si es `true` y `screen.showRememberDevice` también es `true`, omite MFA en inicios de sesión posteriores desde el navegador actual.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="useSecurityKey" type="Promise<void>">
  Este método inicia el desafío de la clave de seguridad para continuar el paso de MFA en el flujo de restablecimiento de contraseña.

  ```jsx Example theme={null}
  import { useResetPasswordMfaWebAuthnRoamingChallenge } from '@auth0/auth0-acul-react/reset-password-mfa-webauthn-roaming-challenge';

  function UseSecurityKeyButton() {
    const { useSecurityKey } = useResetPasswordMfaWebAuthnRoamingChallenge();
    return (
      <button onClick={() => useSecurityKey()}>
        Autenticarse con clave de seguridad
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [ResetPasswordMfaWebAuthnRoamingChallengeUseSecurityKeyOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/ResetPasswordMfaWebAuthnRoamingChallengeUseSecurityKeyOptions).
    </ParamField>

    <ParamField body="rememberDevice?" type="boolean">
      Si es `true` y `screen.showRememberDevice` también es `true`, omite MFA en inicios de sesión posteriores desde el navegador actual.
    </ParamField>
  </Expandable>
</ParamField>

<div id="commonutility-hooks">
  ## Hooks comunes/de utilidad
</div>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useAuth0Themes">useAuth0Themes</a>} type="Hooks">
  Este hook obtiene las opciones del tema actual con la configuración en formato plano del contexto de marca.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useChangeLanguage">useChangeLanguage</a>} type="Hooks">
  Este hook devuelve una función para cambiar el idioma mostrado en la pantalla actual de ACUL.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useCurrentScreen">useCurrentScreen</a>} type="Hooks">
  Este hook obtiene el contexto y el estado de la pantalla actual.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useErrors">useErrors</a>} type="Hooks">
  Este hook permite leer y gestionar los errores del servidor, del cliente y del desarrollador en la pantalla.
</ParamField>
