¿Sincronización bidireccional entre nombre de usuario de WP Discourse y nombre de usuario de Discourse?

He trasladado esto a la categoría #soporte:wordpress, ya que la categoría #contribuir:funcionalidad está destinada a las funcionalidades de Discourse.

El campo «Nombre de usuario de Discourse editable» del complemento de WordPress puede tener un nombre poco adecuado. La descripción de la configuración definitivamente necesita actualizarse para dejar claro para qué está destinada. Cuando la configuración «Nombre de usuario de Discourse editable» está habilitada, los usuarios del sitio de WordPress pueden establecer su nombre de usuario de Discourse en su página de perfil de WordPress. Si esa configuración no está habilitada, solo un administrador del sitio de WordPress puede establecer el nombre de usuario de Discourse del usuario. El nombre de usuario de Discourse solo es utilizado por el complemento para publicar entradas desde WordPress a Discourse.

Cuando se utiliza DiscourseConnect entre WordPress y Discourse, el nombre de usuario de Discourse del usuario se establece inicialmente a partir de su nombre de usuario de WordPress. Si la configuración auth_overrides_username está habilitada en el sitio de Discourse, el nombre de usuario en Discourse solo se puede establecer desde WordPress. Si la configuración auth_overrides_username no está habilitada en Discourse, los usuarios podrían editar su nombre de usuario en Discourse, lo que provocaría que los nombres de usuario quedaran desincronizados entre los dos sistemas.

En cuanto al campo del nombre de usuario de Discourse, idealmente, este campo siempre debería establecerse en segundo plano en función del nombre de usuario de Discourse. Ha pasado bastante tiempo desde la última vez que revisé el código relacionado, pero creo que el campo del nombre de usuario de Discourse se rellena automáticamente si el sitio de WordPress se utiliza como proveedor de SSO para Discourse y la opción «Crear o sincronizar usuarios de Discourse al iniciar sesión» está habilitada en la pestaña de opciones de DiscourseConnect Provider en WordPress. El campo del nombre de usuario de Discourse también se establece automáticamente si Discourse se utiliza como proveedor de SSO para WordPress (con la configuración DiscourseConnect Client).

Idealmente, el campo del nombre de usuario de Discourse siempre debería establecerse automáticamente cuando WordPress es el proveedor de SSO para Discourse, independientemente de si la opción «Crear o sincronizar usuarios de Discourse al iniciar sesión» está habilitada en Discourse. No creo que se pueda hacer nada para el caso en que no se esté utilizando DiscourseConnect entre los dos sitios, pero @angus podría tener ideas al respecto.

De forma predeterminada, WordPress no permite a los usuarios cambiar sus nombres de usuario, por lo que no hemos recibido muchas preguntas al respecto. Si deseas garantizar que los nombres de usuario se mantengan sincronizados entre WordPress y Discourse, asegúrate de habilitar la configuración auth_overrides_username en Discourse. También podrías querer habilitar la opción «Crear o sincronizar usuarios de Discourse al iniciar sesión» en WordPress. Con esa opción habilitada, los usuarios se actualizarán en Discourse cada vez que inicien sesión en tu sitio de WordPress. Si esa opción no está habilitada, los usuarios solo se actualizarán en Discourse cuando cierren sesión en Discourse y vuelvan a iniciar sesión con DiscourseConnect.