Saltar al contenido principal
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. 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.
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.

Configuración de Auth0

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. Para obtener más información sobre las conexiones, consulta Proveedores de identidad.

Configuración de la aplicación

  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 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 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:
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.
  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)
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.
  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.

Autoriza la aplicación para la Management API

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

Configuración de la conexión de base de datos

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 , sociales o empresariales.
  1. Si usaste el asistente durante la configuración, ve a Auth0 Dashboard > Authentication > 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.

Configuración de la conexión social

Para saber cómo activar y configurar este método de inicio de sesión, consulta Proveedores de identidad sociales.

Configuración de la conexión empresarial

Para saber cómo activar y configurar este método de autenticación, consulte Proveedores de identidad empresariales.

Configuración de WordPress

  1. Ve a Auth0 Dashboard > Applications > 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.

Almacenamiento de ajustes mediante constantes de PHP

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 , 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). 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. 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). 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 . 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.

Configuración del plugin

Básico

  • Dominio: El dominio copiado de la configuración de la aplicación en tu Dashboard. El nombre de la opción es domain.
  • : El dominio personalizado de tu inquilino, si está configurado. Para obtener más información, consulta Dominios personalizados. El nombre de la opción es custom_domain.
  • : 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.
  • Algoritmo de firma El algoritmo que se usa para firmar tokens en Advanced Application Settings, pestaña ; 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.

Características

  • Página: Redirige la página wp-login.php a la página de Universal Login para la autenticación de (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.

Integrado

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).
  • 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. 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 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.) El nombre de la opción es lock_connections.
    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.

Avanzado

  • 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 inactividaddocs/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.
    Si los registros están permitidos en WordPress, se crearán nuevos usuarios independientemente de esta configuración.
  • 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. 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. 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.

Más información