Después de investigar un poco más, me pregunto si una solución ligeramente menos ‘parcheada’ sería adaptar el enfoque descrito por @simon en este post: Automatically login via SSO - #4 by simon
- Habilitar la configuración “sso permite todas las rutas de retorno”.
- Agregar un iframe oculto en mi página que cargue
https://discourse.example.com/session/sso?return_path=path_to_mypage.html. - Cuando el usuario haya iniciado sesión (sin interacción, ya que el usuario ya se ha autenticado vía SSO en la aplicación de la página principal) y el iframe sea redirigido a
mypage.html, podrá comunicarse con la página principal mediante postMessage() para indicar que el usuario ha iniciado sesión en Discourse y activar el script para incrustar el tema del foro.
Aún no parece ser la solución ideal, ya que generará viajes de ida y vuelta adicionales (el proceso anterior solo es realmente necesario si el usuario aún no ha iniciado sesión en Discourse).
Parece que la solución ideal sería si fuera posible de alguna manera preservar la URL del referer de la página incrustante cuando esta sea redirigida a través de SSO.
Edición: Implementé el “parche” mejorado descrito en el post anterior y, al menos, puedo decir que funciona mucho mejor que el parche original que describí en el OP.