能否在另一个域名上使用完整的应用程序嵌入?

我正在将 Discourse 论坛用作博客的评论区,而博客位于另一个域名上。

我试图使用 Discourse 的完整应用嵌入功能,但用户无法从嵌入页面登录、回复或进行任何交互。

当有人尝试回复时,即使他们已经登录,系统也会将其重定向到新页面进行登录。

在 Discourse 那边登录也没有帮助。

这听起来像是跨站 Cookie 的问题。

有什么解决办法吗?

有任何修复方案吗?


抱歉,我对这些 Cookie 相关的东西不太熟悉,所以我使用了 AI 来了解情况并研究可能的解决方案。

如果您不喜欢 AI,可以在此停止阅读。

以下是我从 AI 那里获得的内容,但本文本身(包括所有格式)都是使用我的“自然智能”撰写的。

Gemini 对问题的总结。

听起来有正确的方法可以实现这一点,但 Discourse 需要实施这些方法。

  1. https://developer.mozilla.org ↩︎

  2. https://help.boldbi.com ↩︎

  3. https://developers.google.com ↩︎

  4. https://privacysandbox.google.com ↩︎ ↩︎

  5. https://learn.microsoft.com ↩︎

  6. https://www.blackduck.com ↩︎

  7. https://developer.mozilla.org ↩︎

  8. https://stackoverflow.com ↩︎

你的 Discourse 是最新版本吗?请确保更新到最新版本。我登录到正确的论坛后,回复没有任何问题。

匿名回复会打开新标签页进行登录,原因如下:

进入 Rails 控制台并将 SameSite 站点 Cookie 设置为 None。

cd /var/discourse
./launcher enter app
rails c
SiteSetting.same_site_cookies = "None"

是的。

是在同一域名下,还是跨不同站点?

我确实想到了这一点,但这显然非常不安全,绝对不是个好主意。

顺便提一下,提出这个建议的人正是协助实现该功能的人 :wink:

跨域嵌入也不总是最佳选择,不过话说回来。