Fire SSO 登录到 discourse,在外部站点登录

我们使用 Discourse 并集成了单点登录(SSO),运行效果非常好。

不过,我遇到了一个奇怪的情况。

  • 我们在外部网站(paddling.com)上利用 Discourse 的私信链接,在 Discourse(forums.paddling.com)上创建新的私信。
  • 如果用户已登录论坛,功能完全符合预期。
  • 如果用户先登录 paddling.com(但尚未访问论坛),此时点击创建新私信的链接,只会打开论坛页面(而不会创建新私信)。
  • 如果用户再次点击该私信链接,私信功能就能正常创建。

我认为问题在于:用户虽然在 paddling.com 上已登录,但在访问 forums.paddling.com 的页面之前,并未在论坛中登录。

以下是一个分类广告示例,供您查看整个流程:
https://paddling.com/classifieds/trak-2-0-for-sale-747840/

是否有一种方法可以在外部网站(paddling.com)登录时,自动触发对论坛(forums.paddling.com)的 SSO 登录?

我找到一条可能可行的参考:

您可以尝试参考此处概述的方法:https://meta.discourse.org/t/compose-a-new-pre-filled-personal-message-via-url/35984。我尚未测试将其与 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

感谢您的帮助。