Error 403 de falla al publicar en Discourse

Administro un blog de WordPress con múltiples autores. ¿Cómo puedo hacer que las publicaciones funcionen sin que todos mis autores tengan que crear una cuenta en Discourse? ¿Debería usar SSO entre WordPress y Discourse para resolver este problema?

Si deseas que los autores puedan publicar mensajes bajo su propio nombre en Discourse, deberán crear cuentas en Discourse. SSO es un buen enfoque para esto, pero cuando SSO está habilitado, los usuarios solo podrán iniciar sesión en tu foro a través del sitio de WordPress. Esto puede no ser lo que buscas.

Otra opción sería publicar todos los mensajes desde WordPress en Discourse bajo un único nombre de usuario de Discourse. Si los usuarios dejan su configuración de nombre de usuario de Discourse en blanco, los mensajes se publicarán en Discourse con el nombre de usuario de publicación que hayas establecido en la pestaña de configuración de conexión del plugin.

Interesante… Por lo que puedo ver, ninguno de mis autores tiene eso configurado. Cuando reviso los perfiles de usuario, no veo la opción para establecer un nombre de usuario de Discourse. ¿Dónde podría encontrar esa opción?

Además, acabo de notar que estoy usando la siguiente configuración en el plugin de Discourse para WordPress:

Elimina el campo Nombre de Discourse de la página de perfil del usuario de WordPress.

No mostrar el campo Nombre de Discourse: A menos que SSO esté habilitado, esta configuración hará que todas las publicaciones enviadas a Discourse se publiquen bajo el ‘Nombre de usuario de publicación’.

Entiendo que la configuración anterior forzará que todas las publicaciones se realicen en nombre del usuario definido como usuario de publicación en la configuración “Nombre de usuario de publicación”.

¿Qué estoy pasando por alto?

Gracias. Acabo de darme cuenta de que tenía activada la opción No mostrar el campo de nombre de Discourse. Esto debería haber obligado a que todas las publicaciones se mostraran con el nombre de usuario de publicación.

Sí, desactívalo si quieres que las publicaciones aparezcan con el nombre de usuario de Discourse del autor, el cual, espero, podrás configurar sin problemas. (Algunos temas, como Extra, impiden editar el nombre de usuario al ocultarlo en la página de perfil.)

Editado para agregar: Ahora veo que el título de este tema es un número de error. No estoy seguro de que algo de lo que he dicho resuelva eso.

Sí, así es como debería funcionar. ¿Puedes publicar publicaciones con tu cuenta desde WordPress hacia Discourse?

La causa más común del error 403 al publicar publicaciones en Discourse es que el nombre de usuario de Discourse esté configurado incorrectamente. Podría ser útil desactivar la opción ‘No mostrar el campo de nombre de Discourse’ y revisar las páginas de perfil de algunos de tus autores. Asegúrate de que el campo Nombre de usuario de Discourse para los autores esté vacío. Se encuentra en la sección Información de contacto de la página de perfil del usuario.

Muy pronto moveremos el Nombre de usuario de Discourse fuera de la sección Información de contacto y también daremos a los administradores del sitio la opción de establecer manualmente el Nombre de usuario de Discourse para sus autores, ocultando esta configuración a los autores. Esto es por razones de seguridad, para garantizar que las personas utilicen el Nombre de usuario de Discourse correcto en sitios con múltiples autores.

Bien, eso es lo que esperaba.

Pensaba que el problema estaba relacionado con que los nombres de usuario no coincidían, pero creí que al habilitar la opción “No mostrar el campo de nombre de Discourse” se sobrescribiría todo.

Creo que el cambio que mencionaste sería realmente útil.

Acabo de intentar publicar con la opción desactivada, pero obtuve el mismo error.

Después de desactivar la opción, ¿podrías revisar tu página de perfil para asegurarte de que el campo Nombre de usuario de Discourse esté vacío?

Los nombres de usuario de Discourse están en blanco para todos los usuarios.

Cuando vas a la pestaña de opciones de conexión de WP Discourse, ¿ves un mensaje que dice ‘Estás conectado a Discourse’?

Para la configuración de Clave de API y Nombre de usuario de publicación en la pestaña de opciones de conexión, ¿estás utilizando la Clave de API de Todos los usuarios de tu foro de Discourse? ¿El Nombre de usuario de publicación está configurado con el nombre del usuario del sistema de tu sitio? El nombre de usuario predeterminado para el usuario del sistema es ‘system’.

Sí. En la pestaña de opciones de conexión, veo el mensaje “Estás conectado a Discourse”.

La clave de API es para todos los usuarios y el nombre de publicación es el del administrador del foro de Discourse. El nombre de usuario no es el usuario del sistema “system”.

¿Podrías intentar cambiar el nombre de usuario a ‘system’ (sin las comillas) para ver si eso hace alguna diferencia?

He cambiado el nombre de usuario a system, pero obtengo el mismo mensaje de error.

“Ha ocurrido un error al publicar esta entrada en Discourse.”

Aquí están los detalles que aparecen en el correo de error:

Motivo del fallo:
Se devolvió un código de respuesta 403 desde Discourse.
Prohibido

Verifica que:

  • el autor haya configurado correctamente su nombre de usuario en Discourse

¿Alguien tiene más ideas sobre cómo resolver esto?

Lo único que se me ocurre es crear una nueva clave de API y volver a ingresar todo.

Vale… es muy extraño… Estoy usando nodechef para alojar Discourse… Me pregunto si es un problema con su compilación o la configuración del servidor. ¿Qué opinan?

Intenté cambiar las claves y sigo teniendo el mismo problema.

Gracias por los detalles sobre tu alojamiento. Debería haber preguntado eso. Es posible que el problema esté relacionado con su servicio de alojamiento. No es un problema que haya encontrado con nuestro alojamiento, ni con sitios alojados en https://www.communiteq.com/, ni con sitios autoalojados.

Si tienes WP-CLI disponible en tu sitio de WordPress, la forma más sencilla de depurar esto sería intentar crear un tema de Discourse desde la consola de wp, usando las mismas credenciales que estás utilizando en tu configuración de WP Discourse. La respuesta a esa solicitud proporcionaría algunos detalles sobre el problema.

De acuerdo. Lo probaré.

Estaba pensando en configurar una versión autohospedada en mi cuenta de AWS. Lo probaré y veré si tiene los mismos problemas. Gracias por tu ayuda.

Por alguna razón, la publicación falla con el error 403. Y no importa lo que haga.

Motivo del fallo:
Se devolvió un código de respuesta 403 desde Discourse.
Prohibido

Verifique lo siguiente:

  • que el autor haya configurado correctamente su nombre de usuario de Discourse

La pestaña de Conexión muestra ‘conectado a Discourse’. La configuración ‘No mostrar campo de nombre de Discourse’ está desactivada en Publicación.
Ya he recreado una nueva clave de API para asegurar la conexión. El nombre de usuario predeterminado para el usuario del sistema es ‘system’.

Estoy desconcertado.

Agradecería cualquier ayuda.