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

# LoginPassword

> Describe todos los hooks y métodos disponibles para personalizar la pantalla `login-password` de Universal Login.

La pantalla `login-password` recopila la contraseña del usuario como segundo paso de un flujo de autenticación de tipo identifier-first. También permite cambiar a un proveedor de identidad federado o a otra conexión.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/mMSz-RNYLuOm2GmQ/docs/images/cdy7uua7fh8z/Em8VqaD4fPUx6FRevD8fh/a9133a19565d5d9ddc1454535a0a7a11/loginpassword.png?fit=max&auto=format&n=mMSz-RNYLuOm2GmQ&q=85&s=b8ddc6214a054a57c957ae770cf18c36" alt="ACUL Login Password" width="480" height="852" data-path="docs/images/cdy7uua7fh8z/Em8VqaD4fPUx6FRevD8fh/a9133a19565d5d9ddc1454535a0a7a11/loginpassword.png" />
</Frame>

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

Cada pantalla tiene su propio conjunto de hooks y métodos. El SDK admite **importaciones parciales** e **importaciones desde la raíz** para cada pantalla.

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

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

// importación parcial
import {
  useLoginPassword,
  // Hooks de contexto
  useUser,
  useTenant,
  useBranding,
  useClient,
  useOrganization,
  usePrompt,
  useScreen,
  useTransaction,
  useUntrustedData,
  // Hooks comunes
  useCurrentScreen,
  useAuth0Themes,
  useErrors,
  // Hooks de utilidad
  useChangeLanguage,
  // Métodos
  login,
  federatedLogin,
  switchConnection,
} from '@auth0/auth0-acul-react/login-password';

function LoginPasswordForm() {
  const { login } = useLoginPassword();
  return (
    <button onClick={() => login({ username: 'user@example.com', password: 'secret' })}>
      Sign In
    </button>
  );
}
```

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

Hooks con ámbito de pantalla que proporcionan acceso de solo lectura a los datos de contexto de Auth0 en la pantalla `login-password`. Impórtalos desde `@auth0/auth0-acul-react/login-password`.

<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 de tema que se muestran en la pantalla `login-password`.

  ```jsx Example theme={null}
  import { useBranding } from '@auth0/auth0-acul-react/login-password';
  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 la configuración del cliente, como `id`, `name` y `logoUrl`, para la pantalla `login-password`.

  ```jsx Example theme={null}
  import { useClient } from '@auth0/auth0-acul-react/login-password';
  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 inicio de sesión está limitado a una organización. Devuelve `null` cuando no hay contexto de organización.

  ```jsx Example theme={null}
  import { useOrganization } from '@auth0/auth0-acul-react/login-password';
  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/login-password';
  function FlowInfo() {
    const prompt = usePrompt();
  }
  ```
</ParamField>

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

  ```jsx Example theme={null}
  import { useScreen } from '@auth0/auth0-acul-react/login-password';
  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 sus metadatos asociados.

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

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

  ```jsx Example theme={null}
  import { useTransaction } from '@auth0/auth0-acul-react/login-password';
  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 proporciona acceso a los datos no confiables que se pasan a la pantalla, como un identificador rellenado previamente a partir de parámetros de URL.

  ```jsx Example theme={null}
  import { useUntrustedData } from '@auth0/auth0-acul-react/login-password';
  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 sobre el usuario activo, incluidos `username`, `email` y los métodos de autenticación disponibles.

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

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

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

<ParamField body="federatedLogin" type="Promise<void>">
  Este método inicia la autenticación mediante un proveedor de identidad federado, como Google o GitHub.

  ```jsx Example theme={null}
  import { useLoginPassword } from '@auth0/auth0-acul-react/login-password';

  function SocialButton() {
    const { federatedLogin } = useLoginPassword();
    return (
      <button onClick={() => federatedLogin({ connection: 'google-oauth2' })}>
        Sign in with Google
      </button>
    );
  }
  ```

  **Parámetros del método**

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

    <ParamField body="connection" type="string" required>
      El nombre de la conexión social que se va a usar (por ejemplo, `google-oauth2`, `github`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="login" type="Promise<void>">
  Este método envía las credenciales del usuario para completar la autenticación en la pantalla `login-password`.

  ```jsx Example theme={null}
  import { useLoginPassword } from '@auth0/auth0-acul-react/login-password';

  function LoginPasswordForm() {
    const { login } = useLoginPassword();
    return (
      <button onClick={() => login({ username: 'user@example.com', password: 'secret' })}>
        Sign In
      </button>
    );
  }
  ```

  **Parámetros del método**

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

    <ParamField body="username" type="string" required>
      El identificador (correo electrónico, número de teléfono o username) con el que autenticarse.
    </ParamField>

    <ParamField body="password" type="string" required>
      La contraseña para autenticarse.
    </ParamField>

    <ParamField body="captcha?" type="string">
      Valor de captcha obligatorio cuando la detección de bots está habilitada en el inquilino.
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Campos personalizados adicionales con el prefijo `ulp-` (por ejemplo, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="switchConnection" type="Promise<void>">
  Este método cambia a una conexión de autenticación alternativa sin reiniciar el flujo.

  ```jsx Example theme={null}
  import { useLoginPassword } from '@auth0/auth0-acul-react/login-password';

  function ConnectionSwitcher() {
    const { switchConnection } = useLoginPassword();
    return (
      <button onClick={() => switchConnection({ connection: 'enterprise-saml' })}>
        Use SSO
      </button>
    );
  }
  ```

  **Parámetros del método**

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

    <ParamField body="connection" type="string" required>
      El nombre de la conexión a la que se cambiará. Use 'email' o 'sms' para autenticación sin contraseña, o un nombre de conexión de base de datos para la autenticación con contraseña.
    </ParamField>

    <ParamField body="[`key`: `string`]" type="&#x22;string&#x22; | &#x22;number&#x22; | &#x22;boolean&#x22; | &#x22;undefined&#x22;">
      Campos personalizados adicionales con el prefijo `ulp-` (por ejemplo, `'ulp-custom-field'`).
    </ParamField>
  </Expandable>
</ParamField>

<div id="commonutility-hooks">
  ## Hooks comunes y utilitarios
</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 del contexto de marca simplificada.
</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 de visualización 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 lee y administra los errores del servidor, del cliente y del desarrollador en la pantalla.
</ParamField>
