SSO и встраивание

Проведя дополнительное исследование, я задумался, не будет ли менее «костыльное» решение, если адаптировать подход, описанный @simon в этом посте: Automatically login via SSO - #4 by simon

  1. Включить настройку «sso allows all return paths».
  2. Добавить на свою страницу скрытый iframe, который загружает https://discourse.example.com/session/sso?return_path=path_to_mypage.html.
  3. Когда пользователь вошёл в систему (без взаимодействия, так как он уже авторизован через SSO в приложении на родительской странице) и iframe перенаправляется на mypage.html, он может через postMessage() сообщить родительской странице, что пользователь вошёл в Discourse, и запустить скрипт для встраивания темы форума.

Это всё ещё не кажется идеальным решением, поскольку будут создаваться дополнительные циклы запросов (описанный выше процесс действительно необходим только если пользователь ещё не вошёл в Discourse).

Мне кажется, идеальное решение заключалось бы в том, чтобы каким-то образом сохранять URL страницы-источника (referer URL) страницы, которая встраивается, при её перенаправлении через SSO.

Редактирование: Я реализовал улучшенный «костыль», описанный выше в этом посте, и могу с уверенностью сказать, что он работает намного лучше оригинального «костыля», описанного мной в первом сообщении.