你好,我想将论坛以 iframe 形式嵌入到网站中。
论坛将通过 SSO 进行登录。iframe 嵌入功能运行正常。但由于 Discourse 端设置了 samesite lax 属性,SSO 流程无法设置登录 Cookie。是否有人也遇到过这个问题?或者是否有人成功将论坛嵌入网站并通过 SSO 进行连接?
提前感谢。
你好,我想将论坛以 iframe 形式嵌入到网站中。
论坛将通过 SSO 进行登录。iframe 嵌入功能运行正常。但由于 Discourse 端设置了 samesite lax 属性,SSO 流程无法设置登录 Cookie。是否有人也遇到过这个问题?或者是否有人成功将论坛嵌入网站并通过 SSO 进行连接?
提前感谢。
只是提醒你,Discourse 在 iframe 中运行效果不佳(甚至完全无法运行)。所以你这已经是在自找麻烦了 ![]()
非常感谢如此迅速的回覆 ![]()

嗯,好的,我在 Discourse 设置部分找到了一个选项,允许将论坛以 iframe 形式嵌入到其他网站中。该设置可以生效(前提是您已登录并拥有相应的 cookie)。
唯一无法正常工作的是 SSO 流程。当在新标签页中打开论坛时,我们的 SSO 流程运行正常且正确。但由于 iframe 跨域,无法设置包含访问令牌的 cookie,导致该流程在 iframe 中失效。这会在 iframe 内部引发无限循环:Discourse 找不到该 cookie,于是再次启动 SSO 流程。
由于这对我们非常重要,是否有任何方法可以在使用 SSO 认证的同时将论坛嵌入到 iframe 中?
该设置相当实验性,在单点登录(SSO)环境中并不真正受支持。重定向返回时需要执行一些复杂的操作,才能将所有信息传递回框架中。
我强烈建议您直接使用自定义页眉和页脚,将其设置得与主站外观一致非常简单。
感谢您的回复。
我们将尝试使用自定义的页眉和页脚。
请问近期是否有计划让 discourseSSO 能够在 iframe 中工作?当用户希望将论坛嵌入其网站而无需实现所有 Discourse API 时,此功能将非常有用。
iframe 与 API 有什么关系?
亲爱的 Stephan,
我们已经在应用程序的 WebView 中使用带有 SSO 的论坛。我们计划将论坛集成到正在构建的新网站中。我认为我们有两个选择:
选项 1:实现多个 API(例如检索帖子、分类以及向 Discourse 发布内容)。
选项 2:结合 SSO 将论坛以 iframe 形式嵌入我们的网站。(成本效益高,我们可以在投入更多资源之前先评估论坛是否成功)
因此,回答您的问题:iframe 选项与 API 无关。
近期是否有计划让 Discourse SSO 在 iframe 中运行?
SSO 协议会重定向到你的网站,你随后执行身份验证并重新定向回我们的网站。
如果要在其中设置 IFRAME,你在完成用户身份验证后执行的重定向必须指向你的网站,然后你需要通过某种“魔法”将信息传回 IFRAME。
这在技术上非常复杂且很难正确实现。相比之下,自定义页脚和页眉的方案在技术上要简单得多,出错概率更低,而且作为一个额外优势,速度更快,因为你无需为构建页面发起两次独立的请求。