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
Configuración de la aplicación
- 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.
- 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.
- Application Type debe estar configurado como Regular Web Application y Token Endpoint Authentication Method debe estar configurado como Post
- Desplácese hacia abajo hasta Allowed Callback URLs y proporcione la URL del sitio de WordPress con
?auth0=1agregado:
- 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.
- Introduzca la URL de inicio de sesión de su sitio de WordPress en el campo Allowed Logout URLs
- 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.
- 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).
- Active OIDC Conformant.
- Haga clic en la pestaña Grant Types y seleccione al menos Authorization Code y Client Credentials.
- Haga clic en Save Changes.
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.
- Asegúrate de que tu aplicación tenga habilitado el grant Client Credentials (paso 10 de la sección anterior).
- Ve a Auth0 Dashboard > Applications > APIs.
- Selecciona Auth0 Management API y, a continuación, la vista Machine to Machine Applications.
- Busca la aplicación de WordPress y selecciona Unauthorized para conceder acceso.
- En el panel que aparece, selecciona solo los alcances
read:usersyupdate:usersy, a continuación, selecciona Update (puedes buscar con el campo Filter scopes).
Configuración de la conexión de base de datos
- 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.
- Selecciona la vista Applications y activa la aplicación creada anteriormente.
Configuración de la conexión empresarial
Configuración de WordPress
- Ve a Auth0 Dashboard > Applications > Applications y selecciona la aplicación de Auth0 creada anteriormente.
- En una nueva pestaña o ventana, inicia sesión en
wp-adminde tu sitio de WordPress y ve a wp-admin > Auth0 > Settings. - 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.
- Desplázate hacia abajo y selecciona Save Changes.
Almacenamiento de ajustes mediante constantes de PHP
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 eswle_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?wlea la URL de Login. - Cuando el parámetro de consulta “wle” está presente permitirá acceder directamente a la página de Login agregando
?wlea 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.phpa 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 esauto_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
-
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 esclient_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 esextra_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_verifieden los datos del perfil de usuario. El nombre de la opción esrequires_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 esdefault_login_redirection. Para cambiar la redirección del shortcode, agregue un atributoredirect_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 esmigration_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.