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

> Cómo cambiar la apariencia y el comportamiento de Lock.Android

# Lock.Android: Configuración

Puede usar las siguientes opciones para configurar las funciones y el diseño de Lock para Android.

Las opciones de configuración se agregan a Lock Builder con el siguiente formato:

```kotlin lines theme={null}
val lock = Lock.newBuilder(account, callback)
    // Opciones de configuración
    .closable(true)
    .allowSignUp(false)
    .setPrivacyURL('http://example.com/privacy')
    .setTermsURL('http://example.com/terms')
    // Fin de las opciones de configuración
    .build(this)
```

<div id="general-options">
  ## Opciones generales
</div>

* **closable(boolean)**: Define si se puede cerrar LockActivity. De forma predeterminada, no se puede cerrar.
* **allowedConnections(List)**: Filtra las conexiones permitidas de la lista configurada en el Dashboard. De forma predeterminada, si este valor está vacío, estarán disponibles todas las conexiones definidas en el Dashboard.
* **hideMainScreenTitle(boolean)**: Si se establece en `true`, el encabezado de la pantalla principal no mostrará el título.

<div id="authentication-options">
  ## Opciones de autenticación
</div>

* **withAuthenticationParameters(Map\<String, Object>)**: Define parámetros de autenticación adicionales que se enviarán en cada llamada de inicio de sesión y registro. El `scope` predeterminado que se usa en las llamadas de autenticación es `openid`. Si desea especificar otro, use `withAuthenticationParameters` y agregue un valor diferente para la clave `scope`.
* **withScope(String)**: Cambia el scope solicitado al realizar una solicitud de autenticación.
* **withAudience(String)**: Cambia la <Tooltip tip="Audiencia: identificador único de la audiencia de un token emitido. Se denomina aud en un token; su valor contiene el ID de una aplicación (ID de cliente) para un ID Token o de una API (Identificador de API) para un Token de acceso." cta="Ver glosario" href="/es/docs/glossary?term=audience">audiencia</Tooltip> solicitada al realizar una solicitud de autenticación.

<div id="database-options">
  ## Opciones de base de datos
</div>

* **withUsernameStyle(int)**: Define si se debe solicitar solo el correo electrónico, solo el username o ambos. Los valores aceptados son `USERNAME` y `EMAIL`. De forma predeterminada, respeta la configuración del parámetro `requires_username` en el Dashboard.
* **loginAfterSignUp(boolean)**: Indica si, después de un evento `SignUp`, el usuario debe iniciar sesión automáticamente. El valor predeterminado es `true`.
* **initialScreen(int)**: Permite personalizar qué formulario aparecerá primero al iniciar Lock. Los valores aceptados son `LOG_IN`, `SIGN_UP` y `FORGOT_PASSWORD`. De forma predeterminada, `LOG_IN` es la pantalla inicial.
* **allowSignUp(boolean)**: Muestra el formulario de registro si hay una conexión de base de datos configurada y está permitida desde el Dashboard. El valor predeterminado es `true`.
* **allowLogIn(boolean)**: Muestra el formulario de inicio de sesión si hay una conexión de base de datos configurada. El valor predeterminado es `true`.
* **allowForgotPassword(boolean)**: Muestra el formulario de recuperación de contraseña si hay una conexión de base de datos configurada y está permitida desde el Dashboard. El valor predeterminado es `true`.
* **allowShowPassword(boolean)**: Muestra un botón para alternar la visibilidad del contenido de un campo de contraseña. El valor predeterminado es `true`.
* **setDefaultDatabaseConnection(String)**: Define cuál será la conexión de base de datos predeterminada. Esto es útil si su aplicación tiene varias conexiones de base de datos configuradas.
* **enableEnterpriseWebAuthenticationFor(List)**: Filtra las conexiones empresariales que iniciarán un flujo de autenticación web a través del navegador al hacer clic en ellas. Solo se permiten las estrategias 'ad', 'adfs' o 'waad'.
* **withSignUpFields(List)**: Muestra una segunda pantalla con campos adicionales para que el usuario los complete después de haber completado el username/correo electrónico y la contraseña en la pantalla de registro. Los valores enviados de esta manera pueden almacenarse en el perfil del usuario mediante un atributo raíz o el atributo `user_metadata`. Para obtener más información, consulte [Lock Android: Custom Fields at Signup](/es/docs/libraries/lock-android/lock-android-custom-fields-at-signup).
* **setPrivacyURL(String)**: Permite personalizar la URL de la Política de privacidad. El valor predeterminado es `https://auth0.com/privacy`.
* **setTermsURL(String)**: Permite personalizar la URL de los Términos del servicio. El valor predeterminado es `https://auth0.com/terms`.
* **setSupportURL(String)**: Permite establecer una URL de soporte que se mostrará en caso de que se produzca un error irrecuperable en Lock.
* **setMustAcceptTerms(boolean)**: Obliga al usuario a aceptar los Términos y la Política antes de registrarse. El valor predeterminado es `false`.
* **useLabeledSubmitButton(boolean)**: Si se establece en `true`, mostrará una etiqueta con el modo actual (registro/inicio de sesión) en el botón de envío en lugar de un icono. El valor predeterminado es `true`. Si la opción `hideMainScreenTitle` se establece en `true`, esta configuración se ignora y, de todos modos, se usará una etiqueta.

<div id="oauth-options">
  ## Opciones de OAuth
</div>

* **withAuthStyle(String, int)**: Personaliza la apariencia de una conexión determinada (nombre) con un estilo específico. Consulta [este documento sobre conexiones OAuth personalizadas](/es/docs/libraries/lock-android/lock-android-custom-theming) para obtener más información.
* **withConnectionScope(String, String...)**: Permite especificar alcances adicionales para una Conexión determinada, que se solicitarán junto con los definidos en la configuración de la conexión en el [Auth0 Dashboard](https://manage.auth0.com/#). Los alcances no se validan de ninguna forma y deben ser reconocidos por el proveedor de autenticación correspondiente. Para ver una lista, consulta el [Auth0 Dashboard](https://manage.auth0.com/#) en la configuración de la conexión en cuestión.
* **withScheme(String)**: Permite cambiar el esquema de `redirect_uri` que se envía en la llamada de autorización. De forma predeterminada, el esquema es `https`. Si se cambia esta configuración, también se deben actualizar el marcador de posición del manifiesto para `auth0Scheme` y las "Allowed Callbacks URLs" en el panel de la aplicación de Auth0.

<div id="passwordless-options">
  ## Opciones sin contraseña
</div>

* **useCode()**: Envía un code en lugar de un enlace por correo electrónico/SMS para la autenticación <Tooltip tip="Sin contraseña: forma de autenticación que no depende de una contraseña como primer factor." cta="Ver glosario" href="/es/docs/glossary?term=Passwordless">sin contraseña</Tooltip>.
* **useLink()**: Envía un enlace en lugar de un code por correo electrónico/SMS para la autenticación sin contraseña.
* **rememberLastLogin(boolean)**: Indica si el correo electrónico o el teléfono utilizados en la última autenticación exitosa se guardarán para iniciar sesión automáticamente la próxima vez que se solicite una autenticación sin contraseña.
