Usamos la incrustación de Discourse para Jekyll en New ROOT Web Site! - ROOT ¡Funciona a la perfección! A menos que el navegador esté suprimiendo la cabecera Referer:, en cuyo caso recibimos un error 400 Bad Request. Pruébalo tú mismo: si cambias a una ventana privada de Firefox (que suprime los referidores), la incrustación se rompe. Lo mismo ocurre con Safari, que parece ser un poco más estricto al entregar referidores.
Lo verifiqué consultando New ROOT Web Site! - Blog - ROOT Forum en una ventana privada de Firefox, lo que me dio un HTTP 400; luego edité la solicitud para agregar Referer: https://root.cern/blog/new-web-site/ y el 400 se convirtió en un 200 de éxito.
Tenemos habilitada la opción “incrustar cualquier origen”. Tenemos comentarios solo para un sitio de incrustación específico. ¿Existe alguna forma de que eso funcione?
Es interesante que los comentarios incrustados en https://blog.codinghorror.com/the-cloud-is-just-someone-elses-computer/ funcionen sin problemas en una ventana privada de Firefox. ¿Podría el problema estar relacionado con el dominio? Tu blog está en root.cern y tu formulario en root-forum.cern.ch.
¡Gracias por echar un vistazo a esto! Podría estar muy bien relacionado con la diferencia en los nombres de dominio: me imagino que los navegadores podrían proporcionar referencias para una solicitud al mismo dominio, pero no a uno diferente. Pero aunque eso es interesante, aún no veo qué podemos hacer para solucionarlo: no podremos usar root.cern como dominio del foro, y esa incrustación entre dominios parecía una característica clave y super útil… ¿Está simplemente en riesgo hoy en día, dada la mejora en la privacidad, o puedes pensar en alguna salida?
Algo que podría querer probar es hacer un proxy inverso desde root.cern/forum a root-forum.cern.ch. De esa manera, la incrustación se podría hacer como si estuviera en el mismo host, y mantendríamos la referencia…? ¡Vuelvo pronto
Para la incrustación entre sitios, en las páginas de incrustación, agrega uno de los siguientes:
<meta name="referrer" content="strict-origin"> con Path Allowlist configurado en /.* (ya que no se proporcionará ninguna ruta), o
<meta name="referrer" content="no-referrer-when-downgrade"> con la Path Allowlist real.
Como se menciona en Referrer-Policy header - HTTP | MDN, “los navegadores están trabajando para adoptar un valor predeterminado más estricto”, y la incrustación de Discourse depende del antiguo valor predeterminado para la incrustación entre hosts.
Solo una advertencia, Tejas: Según tengo entendido, sin la etiqueta meta, Safari y Firefox en modo privado suprimen completamente la cabecera Referer. Lo que sugieres podría funcionar en Chrome >= 85, pero añadir la etiqueta meta parece más robusto y general, y sospecho que es lo suficientemente sencillo para la mayoría de las integraciones.