Estoy intentando ejecutar una llamada a la API para crear un nuevo tema. Discourse API Docs
Usando Postman, envío la clave de API, el nombre de usuario y el tipo de contenido como encabezados, y los datos JSON en el cuerpo.
He verificado que el nombre de usuario y la clave de API son correctos, pero la llamada a la API devuelve el HTML de nuestra página de inicio de sesión.
Acabo de probar tu comando de ejemplo de curl localmente y funciona perfectamente para mí, por lo que la sintaxis es correcta. ¿Es posible que el proxy esté eliminando algunas cabeceras? Eso podría ser la razón por la que estás recibiendo errores de CSRF inválido, ya que ya no puede leer o acceder a las credenciales de la API.
Nuestro proxy es completamente personalizado, desarrollado internamente, y actúa como capa frontal para el público.
Estoy conectado a nuestra red interna mediante VPN y no estoy accediendo a la URL pública, sino a la URL del backend (detrás del proxy), por lo que las solicitudes no deberían pasar por el proxy.
Nuestra instancia de Discourse en staging es la versión 2.3.10.
¿Se comporta la API de manera diferente en esa versión?
Dado que se trata de una instancia de staging y no local, es probable que haya nginx u otro servidor web ejecutándose antes de que la solicitud llegue a Discourse. Es posible que nginx esté eliminando algunas cabeceras según tu configuración. Esto podría reflejarse en los registros de nginx.
Esta es la línea donde se leen las credenciales de la API desde las cabeceras de la solicitud. También podrías agregar algunas sentencias de depuración en este archivo para determinar si las cabeceras llegan hasta aquí.