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

# LoginId

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

La pantalla `login-id` recopila el identificador del usuario como primer paso de un flujo de autenticación de identificador primero. Según la configuración de tu inquilino, este identificador puede ser un correo electrónico, un número de teléfono o un username. También admite el inicio de sesión con claves de acceso y Proveedores de identidad federados.

<Frame>
  <img style={{maxHeight:"400px"}} src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1nvMFmxC5ODCW2q7cByHv8/657d87ba1c2eb11316e6b0ef93737c99/LoginIDACUL.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=02a1a0bc7dfacd594a37b6a48356de00" alt="" width="409" height="562" data-path="docs/images/cdy7uua7fh8z/1nvMFmxC5ODCW2q7cByHv8/657d87ba1c2eb11316e6b0ef93737c99/LoginIDACUL.png" />
</Frame>

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

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

* La importación parcial le permite incluir solo el código que necesita para su caso de uso.
* La importación desde la raíz le permite cargar todas las pantallas desde un único paquete, lo que resulta útil si desea una compilación unificada para gestionar todas las pantallas posibles.

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

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

function LoginIdForm() {
  const { login } = useLoginId();
  return (
    <button onClick={() => login({ username: 'user@example.com' })}>
      Continue
    </button>
  );
}
```

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

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

<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 `login-id`.

  ```jsx Example theme={null}
  import { useBranding } from '@auth0/auth0-acul-react/login-id';
  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 `login-id`.

  ```jsx Example theme={null}
  import { useClient } from '@auth0/auth0-acul-react/login-id';
  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 tiene alcance de Organización. Devuelve `null` cuando no hay contexto de Organización.

  ```jsx Example theme={null}
  import { useOrganization } from '@auth0/auth0-acul-react/login-id';
  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 del flujo de autenticación.

  ```jsx Example theme={null}
  import { usePrompt } from '@auth0/auth0-acul-react/login-id';
  function FlowInfo() {
    const prompt = usePrompt();
  }
  ```
</ParamField>

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

  ```jsx Example theme={null}
  import { useScreen } from '@auth0/auth0-acul-react/login-id';
  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/login-id';
  function TenantInfo() {
    const tenant = useTenant();
  }
  ```
</ParamField>

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

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

  ```jsx Example theme={null}
  import { useUntrustedData } from '@auth0/auth0-acul-react/login-id';
  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-id';
  function UserProfile() {
    const user = useUser();
  }
  ```
</ParamField>

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

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

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

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

  function SocialButton() {
    const { federatedLogin } = useLoginId();
    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 usará (p. ej., `google-oauth2`, `github`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="login" type="Promise<void>">
  Este método envía el identificador del usuario para continuar con el siguiente paso del flujo de autenticación.

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

  function LoginIdForm() {
    const { login } = useLoginId();
    return (
      <button onClick={() => login({ username: 'user@example.com' })}>
        Continue
      </button>
    );
  }
  ```

  **Parámetros del método**

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

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

    <ParamField body="captcha?" type="string">
      Valor de captcha requerido 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="passkeyLogin" type="Promise<void>">
  Este método inicia la autenticación sin contraseña con una clave de acceso.

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

  function PasskeyButton() {
    const { passkeyLogin } = useLoginId();
    return (
      <button onClick={() => passkeyLogin()}>
        Sign in with Passkey
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [CustomOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions).
    </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="pickCountryCode" type="Promise<void>">
  Este método navega al selector de código de país para los flujos de inicio de sesión por teléfono.

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

  function PhoneLogin() {
    const { pickCountryCode } = useLoginId();
    return (
      <button onClick={() => pickCountryCode()}>
        Select Country Code
      </button>
    );
  }
  ```

  **Parámetros del método**

  <Expandable title="Parámetros">
    <ParamField body="options">
      [CustomOptions](/es/docs/libraries/acul/react-sdk/API-Reference/Types/interfaces/CustomOptions).
    </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 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 plana 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 que se muestra 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>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/useLoginIdentifiers">useLoginIdentifiers</a>} type="Hooks">
  Este hook devuelve una lista de los tipos de identificador activos (`email`, `phone`, `username`) en el flujo actual.
</ParamField>

<ParamField body={<a href="/es/docs/libraries/acul/react-sdk/API-Reference/Hooks/usePasskeyAutofill">usePasskeyAutofill</a>} type="Hooks">
  Este hook habilita el autocompletado de claves de acceso en un campo de entrada para ofrecer una experiencia de inicio de sesión sin contraseña fluida.
</ParamField>
