> ## 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 configurar WordPress como una aplicación con Auth0

# Configurar Login by Auth0

Login by Auth0 se puede configurar mediante el asistente de configuración del plugin o manualmente para tener un mayor control del proceso. Para obtener más información, consulta [Instalar Login by Auth0](/es/docs/customize/integrations/cms/wordpress-plugin/install-login-by-auth0). Las instrucciones que se indican a continuación también pueden utilizarse si el asistente de configuración no se completó o como parte de la solución de problemas de inicio de sesión.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Deberás haber iniciado sesión en tu cuenta de Auth0 antes de comenzar con los pasos que se indican a continuación. Si todavía no tienes una, [crea una](https://auth0.com/signup).
</Callout>

<div id="auth0-configuration">
  ## Configuración de Auth0
</div>

Tu inquilino de Auth0 debe estar configurado para aceptar solicitudes de inicio de sesión desde tu sitio de WordPress y obtener las identidades de los usuarios de al menos una Conexión, ya sea una base de datos de Auth0, una conexión social o un directorio empresarial. Para obtener más información sobre los tenants, consulta [Crear tenants](/es/docs/get-started/auth0-overview/create-tenants). Para obtener más información sobre las conexiones, consulta [Proveedores de identidad](/es/docs/authenticate/identity-providers).

<div id="application-setup">
  ### Configuración de la aplicación
</div>

1. Cree una aplicación para su sitio de WordPress:

* **Si está solucionando problemas del asistente de configuración**, vaya a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) y busque una aplicación similar al nombre de su sitio de WordPress. Si no encuentra ninguna, significa que el asistente no creó una aplicación. Reinicie el asistente de configuración en WordPress o siga el paso que aparece justo debajo para crear una aplicación manualmente.
* **Si está configurando manualmente**, vaya a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) y seleccione **Create**. Introduzca un nombre para la aplicación, seleccione **Regular Web Applications** y luego **Create**.

1. Seleccione la vista **Settings** de la aplicación. Verá su dominio, ID de cliente y Secreto del cliente, que se usan en **wp-admin > Auth0 > Settings** para conectarse a Auth0.
2. **Application Type** debe estar configurado como **Regular Web Application** y **Token Endpoint Authentication Method** debe estar configurado como **Post**
3. Desplácese hacia abajo hasta **Allowed Callback URLs** y proporcione la URL del sitio de WordPress con `?auth0=1` agregado:

<Warning>
  La URL de devolución de llamada aquí **no debe** almacenarse en caché, o podría aparecer un error de "estado no válido" durante el inicio de sesión. Para obtener más información, lea [Solucionar errores de estado no válido del plugin de WordPress](/es/docs/customize/integrations/cms/wordpress-plugin/troubleshoot-wordpress-plugin-invalid-state-errors).
</Warning>

1. Introduzca la **WordPress Address (URL)** de su sitio de WordPress (donde el sitio está disponible públicamente) y, si es distinta, la **Site Address (URL)** (desde donde se sirve wp-admin) en el campo **Allowed Web Origins**. Ambos valores se encuentran en la pantalla de configuración general de su sitio de WordPress.
2. Introduzca la URL de inicio de sesión de su sitio de WordPress en el campo **Allowed Logout URLs**
3. Deje en blanco el campo **Allowed Origins (CORS)** (usará los valores de **Allowed Callback URLs** indicados arriba)

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Asegúrese de que el protocolo de su sitio coincida (http o https) y use la URL principal como base, que se encuentra en **wp-admin > Settings > General > WordPress Address (URL)**, para todos los campos de URL anteriores.
</Callout>

1. Desplácese hacia abajo y seleccione **Show Advanced Settings**; luego seleccione la vista **OAuth** y asegúrese de que **JsonWebToken Signature Algorithm** esté configurado como RS256. Si es necesario cambiarlo más adelante, también debe cambiarse aquí y en wp-admin (consulte Settings > Basic a continuación).
2. Active **OIDC Conformant**.
3. Haga clic en la pestaña **Grant Types** y seleccione al menos **Authorization Code** y **Client Credentials**.
4. Haga clic en **Save Changes**.

<div id="authorize-the-application-for-the-management-api">
  ### Autoriza la aplicación para la Management API
</div>

Para que tu sitio de WordPress pueda realizar determinadas acciones en nombre de tu inquilino de Auth0, tendrás que autorizar la aplicación creada anteriormente para acceder a la <Tooltip tip="Management API: Un producto que permite a los clientes realizar tareas administrativas." cta="Ver glosario" href="/es/docs/glossary?term=Management+API">Management API</Tooltip>. Esto no es obligatorio, pero te permitirá obtener todos los datos del usuario al iniciar sesión (incluidos `user_metadata` y `app_metadata`), cambiar el correo electrónico y la contraseña de los usuarios, y reenviar la verificación de correo electrónico cuando se requieran correos electrónicos verificados.

1. Asegúrate de que tu aplicación tenga habilitado el grant Client Credentials (paso 10 de la sección anterior).
2. Ve a [Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis).
3. Selecciona **Auth0 Management API** y, a continuación, la vista **Machine to Machine Applications**.
4. Busca la aplicación de WordPress y selecciona **Unauthorized** para conceder acceso.
5. En el panel que aparece, selecciona solo los alcances `read:users` y `update:users` y, a continuación, selecciona **Update** (puedes buscar con el campo **Filter scopes**).

<div id="database-connection-setup">
  ### Configuración de la conexión de base de datos
</div>

Las conexiones de base de datos permiten iniciar sesión con username y contraseña usando registros de usuarios almacenados en Auth0. Este tipo de conexión no es obligatorio y puede omitirse si usas únicamente inicios de sesió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>, sociales o empresariales.

1. Si usaste el asistente durante la configuración, ve a [Auth0 Dashboard > Authentication > Database](https://manage.auth0.com/#/connections/database) y busca una conexión con un nombre similar al de la aplicación configurada anteriormente. De lo contrario, puedes crear una conexión nueva, usar una conexión existente o usar la conexión predeterminada **Username-Password-Authentication**. Selecciona el nombre de una conexión existente para ver su configuración o selecciona **Create DB Connection** y sigue los pasos.
2. Selecciona la vista **Applications** y activa la aplicación creada anteriormente.

<div id="social-connection-setup">
  ### Configuración de la conexión social
</div>

Para saber cómo activar y configurar este método de inicio de sesión, consulta [Proveedores de identidad sociales](/es/docs/authenticate/identity-providers/social-identity-providers).

<div id="enterprise-connection-setup">
  ### Configuración de la conexión empresarial
</div>

Para saber cómo activar y configurar este método de autenticación, consulte [Proveedores de identidad empresariales](/es/docs/authenticate/identity-providers/enterprise-identity-providers).

<div id="wordpress-configuration">
  ## Configuración de WordPress
</div>

1. Ve a [Auth0 Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) y selecciona la aplicación de Auth0 creada anteriormente.
2. En una nueva pestaña o ventana, inicia sesión en `wp-admin` de tu sitio de WordPress y ve a **wp-admin > Auth0 > Settings**.
3. Copia **dominio**, **ID de cliente** y **Secreto del cliente** de la página de tu aplicación de Auth0 a la configuración de WordPress con los botones **Copy to Clipboard** que aparecen junto a cada campo.
4. Desplázate hacia abajo y selecciona **Save Changes**.

<div id="php-constant-setting-storage">
  ## Almacenamiento de ajustes mediante constantes de PHP
</div>

Los ajustes del plugin pueden guardarse en la base de datos (opción predeterminada) o establecerse mediante una constante de PHP con un nombre específico. Esto permite almacenar de forma más segura datos sensibles como el <Tooltip tip="Secreto del cliente: secreto que usa un cliente (aplicación) para autenticarse con el Servidor de autorización; solo deberían conocerlo el cliente y el Servidor de autorización, y debe ser lo suficientemente aleatorio como para que no pueda adivinarse." cta="Ver glosario" href="/es/docs/glossary?term=client+secret">Secreto del cliente</Tooltip>, el token de API y el token de migración (siempre que el archivo en el que se definan también se almacene de forma segura; para obtener más información, consulta [Hardening WordPress on wordpress.org](https://developer.wordpress.org/advanced-administration/security/hardening/)).

La constante **debe** definirse antes de que se cargue el plugin; de lo contrario, no se usará. Esto debe hacerse en tu archivo `wp-config.php` o en un plugin de uso obligatorio. Para obtener más información, consulta [Must Use Plugins on wordpress.org](https://developer.wordpress.org/advanced-administration/plugins/mu-plugins/). Si la constante se define en el archivo `functions.php` de tu tema o en un plugin que se carga después de Auth0, el valor se ignorará.

Las constantes de PHP se definen de la siguiente manera:

El nombre predeterminado de la constante debe ser `AUTH0_ENV_`, seguido del nombre de la opción que quieres reemplazar, en mayúsculas (el prefijo puede modificarse con el filtro `auth0_settings_constant_prefix`; para obtener más información, consulta [Extend Login by Auth0 WordPress Plugin](/es/docs/customize/integrations/cms/wordpress-plugin/extend-login-by-auth0)). Todas las opciones del plugin se pueden reemplazar, y sus claves pueden encontrarse en el método `WP_Auth0_Options::defaults()`.

**Nota:** El valor `migration_token` lo genera el plugin cuando la migración de usuario está activada. Si ya existe un valor en el panel de administración, asegúrate de establecer la constante con ese mismo valor. Si ese valor debe cambiar, también debe cambiarse en los scripts personalizados de la Conexión de base de datos que se esté usando en el <Tooltip tip="Auth0 Dashboard: el producto principal de Auth0 para configurar tus servicios." cta="Ver glosario" href="/es/docs/glossary?term=Auth0+dashboard">Auth0 Dashboard</Tooltip>.

El campo de ajustes cambiará su visualización en función de este nuevo valor y mostrará, como referencia, la constante que se está usando. Este valor se utilizará automáticamente en todo el plugin.

**Importante:** Si guardas la página de ajustes después de establecer un valor mediante constante, se validarán los valores definidos por constante (pero no se cambiarán) y se eliminarán del array de opciones que se guarda en la base de datos. Si solo estás probando esta funcionalidad, no guardes los ajustes en la página de administración de WordPress hasta que estés listo para eliminar ese valor.

Todos los sitios de una red multisitio de WordPress usarán el mismo valor de constante, lo que hace que esta sea una forma sencilla de configurar una red con una sola Aplicación y una sola Conexión de base de datos.

<div id="plugin-settings">
  ## Configuración del plugin
</div>

<div id="basic">
  ### Básico
</div>

* **Dominio:** El dominio copiado de la configuración de la aplicación en tu Dashboard. El nombre de la opción es `domain`.
* **<Tooltip tip="Dominio personalizado: dominio de terceros con un nombre especializado o personalizado." cta="Ver glosario" href="/es/docs/glossary?term=Custom+Domain">Dominio personalizado</Tooltip>:** El dominio personalizado de tu inquilino, si está configurado. Para obtener más información, consulta [Dominios personalizados](/es/docs/customize/custom-domains). El nombre de la opción es `custom_domain`.
* **<Tooltip tip="ID de cliente: valor de identificación que Auth0 asigna a tu recurso registrado." cta="Ver glosario" href="/es/docs/glossary?term=Client+ID">ID de cliente</Tooltip>:** El ID de cliente copiado de la configuración de la aplicación en tu Dashboard. El nombre de la opción es `client_id`.
* **Secreto del cliente:** El Secreto del cliente copiado de la configuración de la aplicación en tu Dashboard. El nombre de la opción es `client_secret`.
* **<Tooltip tip="JSON Web Token (JWT): formato estándar de ID Token (y, con frecuencia, de Token de acceso) utilizado para representar claims de forma segura entre dos partes." cta="Ver glosario" href="/es/docs/glossary?term=JWT">JWT</Tooltip> Algoritmo de firma** El algoritmo que se usa para firmar tokens en Advanced Application Settings, pestaña <Tooltip tip="OAuth 2.0: marco de autorización que define protocolos y flujos de autorización." cta="Ver glosario" href="/es/docs/glossary?term=OAuth">OAuth</Tooltip>; el valor predeterminado es RS256. El nombre de la opción es `client_signing_algorithm`.
* **Tiempo de caché de JWKS (en minutos):** Durante cuánto tiempo debe almacenarse la información de JWKS cuando se usa el algoritmo de firma JWT RS256. El nombre de la opción es `cache_expiration`.
* **Formulario de Login original en wp-login.php:** Proporciona opciones para acceder a la página de Login principal de WordPress o bloquearla. El nombre de la opción es `wordpress_login_enabled`. El nombre de la opción del código de la página de Login es `wle_code`.

  * **Nunca** no permitirá que se muestre el formulario de Login principal de WordPress.
  * **Mediante un enlace debajo del formulario de Auth0** mostrará un enlace al formulario de Login principal de WordPress directamente debajo del formulario integrado de Auth0 en `wp-login.php`. También se puede acceder directamente a la página de Login agregando `?wle` a la URL de Login.
  * **Cuando el parámetro de consulta "wle" está presente** permitirá acceder directamente a la página de Login agregando `?wle` a la URL de Login. Esto omitirá la redirección a la página de Universal Login.
  * **Cuando el parámetro de consulta "wle" contiene un código específico** permitirá acceder directamente a la página de Login agregando `?wle=` seguido de un código a la URL de Login. El código se genera automáticamente y se mostrará debajo de los controles de esta configuración. Esto omitirá la redirección a la página de Universal Login.
* **Permitir registros:** El registro de usuarios estará disponible solo si la opción Anyone can register de WordPress está habilitada. Puedes encontrar esta configuración en **Settings > General > Membership**.

<div id="features">
  ### Características
</div>

* **<Tooltip tip="Universal Login: Su aplicación redirige a Universal Login, alojado en el Servidor de autorización de Auth0, para verificar la identidad de un usuario." cta="Ver glosario" href="/es/docs/glossary?term=Universal+Login">Universal Login</Tooltip> Página:** Redirige la página `wp-login.php` a la página de Universal Login para la autenticación de <Tooltip tip="inicio de sesión único (SSO): servicio que, después de que un usuario inicia sesión en una aplicación, inicia automáticamente la sesión de ese usuario en otras aplicaciones." cta="Ver glosario" href="/es/docs/glossary?term=Single+Sign-on">inicio de sesión único</Tooltip> (SSO) mediante todas las conexiones activas de esta aplicación. El nombre de la opción es `auto_login`.
* **Método de inicio de sesión automático:** Una única conexión activa que se utilizará para la autenticación cuando la **Página de Universal Login** esté activada. Déjelo en blanco para mostrar todas las conexiones activas en la página de Universal Login. El nombre de la opción es `auto_login_method`.
* **Cierre de sesión de Auth0:** Habilite esta opción para cerrar sesión en Auth0 al cerrar sesión en WordPress. El nombre de la opción es `singlelogout`.
* **Sobrescribir los avatares de WordPress:** Obliga a WordPress a usar los avatares de Auth0. El nombre de la opción es `override_wp_avatars`.

<div id="embedded">
  ### Integrado
</div>

Las opciones de esta sección no afectan a la página de Universal Login (para obtener información sobre las opciones de personalización, consulte [Auth0 Universal Login](/es/docs/authenticate/login/auth0-universal-login)).

* **Inicio de sesión sin contraseña:** Habilite esta opción para activar el inicio de sesión sin contraseña en todos los formularios de login integrados de Auth0. Las conexiones sin contraseña se administran en el Auth0 Dashboard y, para que esto funcione, al menos una debe estar activa y habilitada en esta aplicación. El nombre de la opción es `passwordless_enabled`.
* **URL del icono:** Establece el icono que aparece encima del formulario de login integrado de Auth0. El nombre de la opción es `icon_url`.
* **Título del formulario:** Establece el título del formulario de login integrado de Auth0. El nombre de la opción es `form_title`.
* **Habilitar la integración con Gravatar:** Cuando el usuario introduce su correo electrónico, se muestra su imagen de Gravatar asociada en el formulario de login integrado de Auth0. El nombre de la opción es `gravatar`.
* **Estilo del nombre de inicio de sesión:** Si selecciona **Correo electrónico**, los usuarios deberán introducir su dirección de correo electrónico para iniciar sesión. Establezca esta opción en **Username** si no desea exigir que el username sea una dirección de correo electrónico válida. El nombre de la opción es `username_style`. El nombre de la opción es `client_secret_b64_encoded`.
* **Color principal:** Para obtener más información sobre esta configuración, consulte [Lock Configuration Options](/es/docs/libraries/lock/lock-configuration). El nombre de la opción es `primary_color`.
* **Configuración adicional:** Un objeto JSON válido que incluye opciones para invocar Lock. Esto aplica una sobrescritura de todas las demás opciones configuradas anteriormente. Para ver una lista de las opciones disponibles, consulte las opciones configurables por el usuario de Lock (por ejemplo: `{"disableResetAction": true }`). El nombre de la opción es `extra_conf`.
* **Usar una URL personalizada de Lock JS:** Cuando esta opción está desactivada, WordPress usará automáticamente la última versión probada de Lock (el formulario de login integrado de Auth0). Cuando está activada, los administradores pueden proporcionar una URL personalizada de Lock para usarla. El nombre de la opción es `custom_cdn_url`.
* **URL personalizada de Lock JS:** Una URL válida que apunta a una versión de Lock. Este campo se ocultará automáticamente cuando **Usar una URL personalizada de Lock JS** esté desactivado. El nombre de la opción es `cdn_url`.
* **Conexiones para mostrar:** Enumere aquí cada uno de los <Tooltip tip="Proveedor de identidad (IdP): servicio que almacena y gestiona identidades digitales." cta="Ver glosario" href="/es/docs/glossary?term=identity+providers">proveedores de identidad</Tooltip> con los que desea permitir que los usuarios inicien sesión. Si se deja en blanco, se permitirán todos los proveedores habilitados. (Para obtener más información, consulte [Lock UI Customization](/es/docs/libraries/lock/lock-ui-customization).) El nombre de la opción es `lock_connections`.

  <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
    Si ha habilitado el inicio de sesión sin contraseña, debe enumerar aquí todos los proveedores de identidad sociales permitidos. Para obtener más información, consulte [.social(options, callback) in our GitHub repository](https://github.com/auth0/lock-passwordless#socialoptions-callback).
  </Callout>

<div id="advanced">
  ### Avanzado
</div>

* **Requerir correo electrónico verificado:** Si se establece, requiere que el usuario tenga un correo electrónico verificado para iniciar sesión. Esto puede impedir que algunas conexiones funcionen correctamente si no proporcionan una dirección de correo electrónico o un indicador `email_verified` en los datos del perfil de usuario. El nombre de la opción es `requires_verified_email`.
* **Omitir estrategias:** Si Requerir correo electrónico verificado está activado, se mostrará esta configuración. Este campo acepta nombres de estrategia para omitir el requisito de correo electrónico verificado al iniciar sesión y asociar cuentas. Esto **solo** debe usarse para estrategias que no proporcionan un indicador `email_verified`.
* **Recordar sesión de usuario:** De forma predeterminada, las sesiones de usuario duran dos días. Habilite esta configuración para mantener activas las sesiones de usuario durante 14 días. El nombre de la opción es `remember_users_session`.

  * Esta configuración debe ser menor o igual que la configuración de [Tiempo de inactividad](/es/docs/manage-users/sessions/session-lifetime-limits)docs/manage-users/sessions/session-lifetime-limits de su inquilino para garantizar que la sesión del usuario se mantenga correctamente.
* **URL de redirección de inicio de sesión:** Si se establece, redirige a los usuarios a la URL especificada después de iniciar sesión. Esto no afecta al inicio de sesión mediante el shortcode `[auth0]`. El nombre de la opción es `default_login_redirection`. Para cambiar la redirección del shortcode, agregue un atributo `redirect_to`, así:

  `[auth0 redirect_to="http://yourdomain.com/redirect-here"]`
* **Forzar callback HTTPS:** Habilite esta opción si su sitio permite HTTPS pero no lo aplica de forma obligatoria. Esto forzará los callbacks de Auth0 a HTTPS en caso de que la URL de inicio de su sitio no esté configurada con HTTPS. El nombre de la opción es `force_https_callback`.
* **Aprovisionamiento automático:** Si no se permiten nuevos registros, ¿deben almacenarse en la base de datos de WordPress los nuevos usuarios de Auth0? Esto creará usuarios de WordPress que no existen cuando inicien sesión mediante Auth0 (por ejemplo, si un usuario se crea en el Auth0 Dashboard). El nombre de la opción es `auto_provisioning`.

  <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
    Si los registros están permitidos en WordPress, se crearán nuevos usuarios independientemente de esta configuración.
  </Callout>
* **Migración de usuario:** Al habilitar esta opción, se expondrán los servicios web de migración de Auth0. Sin embargo, la Conexión deberá configurarse manualmente en el [Auth0 Dashboard](https://manage.auth0.com/#). Para obtener más información sobre el proceso de migración, lea [Migración de usuario en el plugin de WordPress Login by Auth0](/es/docs/customize/integrations/cms/wordpress-plugin/user-migration-in-login-by-auth0). El botón **Generate New Migration Token** puede usarse para reemplazar el token guardado por uno nuevo. Asegúrese de tener abierta la página de configuración de su Conexión de base de datos en la pestaña **Base de datos personalizada** para poder reemplazar el token existente por el nuevo en ambos scripts. El nombre de la opción es `migration_ws`. El nombre de la opción del token de migración es `migration_token`.
* **Lista de IP permitidas para migración:** Solo se permitirá el acceso al servicio web de migración a las solicitudes procedentes de las IP incluidas en la lista. El nombre de la opción es `migration_ips_filter`.
* **IP de proxy válida:** Indique la dirección IP de su proxy o balanceador de carga para habilitar comprobaciones de IP para los inicios de sesión y los servicios web de migración. El nombre de la opción es `valid_proxy_ip`.
* **Dominio del servidor de Auth0:** El dominio de Auth0. El asistente de configuración lo usa para obtener la información de su cuenta. El nombre de la opción es `auth0_server_domain`.

<div id="learn-more">
  ## Más información
</div>

* [Integrar WordPress](/es/docs/customize/integrations/cms/wordpress-plugin/integrate-with-wordpress)
* [Instalar Login by Auth0](/es/docs/customize/integrations/cms/wordpress-plugin/install-login-by-auth0)
* [Solucionar problemas con el plugin de WordPress Login by Auth0](/es/docs/customize/integrations/cms/wordpress-plugin/troubleshoot-login-by-auth0)
* [Extender el plugin de WordPress Login by Auth0](/es/docs/customize/integrations/cms/wordpress-plugin/extend-login-by-auth0)
