Вход в Discourse через SSO: вход на внешний сайт

Мы используем Discourse с SSO, и всё работает отлично.

Однако я столкнулся с необычной ситуацией.

  • Мы используем ссылки на личные сообщения Discourse на нашем внешнем сайте (paddling.com) для создания нового личного сообщения на форумах Discourse (forums.paddling.com).
  • Если пользователь авторизован на форумах, всё работает именно так, как ожидалось.
  • Если пользователь входит в систему на paddling.com (но сначала не переходил на форумы), то при клике на ссылку для создания нового сообщения просто открываются форумы (без создания нового сообщения).
  • Если пользователь кликает на ссылку сообщения во второй раз, то сообщение создаётся.

Мне кажется, что проблема в том, что, хотя пользователь авторизован на paddling.com, он не авторизован на форумах, пока не откроет страницу на forums.paddling.com.

Вот пример объявления о продаже, чтобы вы могли увидеть этот процесс:
https://paddling.com/classifieds/trak-2-0-for-sale-747840/

Есть ли способ инициировать вход через SSO (на forums.paddling.com) при входе на внешний сайт (paddling.com)?

Я нашёл одну ссылку, которая может помочь:

Вы, возможно, сможете использовать подход, описанный здесь: Creating pre-filled personal message links. Я не пробовал использовать его с параметром return_path для создания предварительно заполненного личного сообщения, но, думаю, это можно заставить работать.

Предварительно заполненное личное сообщение работает корректно (при условии, что пользователь авторизован). Я попрослю нашего разработчика изучить возможность использования return_path.

Я только что перечитал свой предыдущий ответ. Я хотел написать, что подход, описанный в этой теме, должен работать: Создание ссылки для входа через SSO. Именно так наш плагин для WordPress создаёт ссылки, которые автоматически авторизуют пользователей в Discourse. То, что я ещё не тестировал, — это использование этого подхода с URL предзаполненного сообщения, установленным в качестве return_path.

Дайте знать, если что-то всё ещё неясно.

@simon большое спасибо за уточнение. Теперь всё стало понятнее. Я проверю это и обновлю информацию здесь.

Быстрое обновление @simon — всё сработало идеально.

https://forum.example.com/session/sso?return_path=https://forum.example.com/new-message?username=username%26title=title%26body=body+message

Спасибо за помощь.