设置 Discourse ID 的帮助

我一定是瞎了…… :see_no_evil_monkey:

在我的站点配置中找不到 discourse_id_client_iddiscourse_id_client_secret。只有 Enable Discourse ID:man_shrugging:

有什么想法吗?

是否启用了 强制 HTTPS

是的,已启用。我已检查过。

您只需启用它,密钥和 ID 就会自动生成。

有一个 rake 任务,您运行它来连接到中央服务器并创建密钥。那就是您的密钥和密钥的创建方式。

我在任何地方都找不到相关文档。

在源代码中应该很容易找到,但又不像我能在下午 5 点后在手机上找到那么容易

1 个赞

真的吗?:laughing: 天哪… :smiley:

我也没有。我想知道是否有人设置过这个。 :wink:

rake discourse_id:register

不。我刚在一个最新的站点上试过,仅仅启用该设置就会生成密钥。

我认为在公开宣布之前,rake 任务已经需要一段时间了,现在启用该设置会自动请求密钥,这比运行 rake 任务要合理得多。

1 个赞

谢谢,但这没有奏效:

插件名称是 'discourse-docs',但插件目录名为 'discourse-knowledge-explorer'
rake 中止!
不知道如何构建任务 'discourse_id:register'(请运行 `rake --tasks` 查看可用任务列表)
你是指 discourse_ai:install:migrations 吗?
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
(通过运行任务并添加 --trace 来查看完整跟踪)

您的论坛是最新的吗?您是否尝试过简单地从用户体验中启用该设置?我刚刚在一个运行最新 Beta 版本的网站上试过了。

1 个赞

大约一周,也许两周自上次重建以来。

你启用它了吗?启用后,它将生成其他内容。您无需自行将其设为灰色。

1 个赞

我已启用 enable_discourse_id 并收到一个错误(德语):

enable_discourse_id:您必须先配置 Discourse ID 凭据(“discourse_id_client_id”和“discourse_id_client_secret”),然后才能启用此设置。

它说我需要在勾选 enable_discourse_id 之前配置 discourse_id_client_iddiscourse_id_client_secret

所以目前这有点像先有鸡还是先有蛋的问题。 :wink:

2 个赞

奇怪。您可以尝试升级,然后提交错误报告。

您是否位于 Cloudflare 或其他可能阻止 discourse 服务器连接到您服务器的反向代理后面?我很确定,如果您位于 Cloudflare 后面,将无法使其正常工作。

1 个赞

我已升级到最新版本。我没有看到这两个选项……

没有。我的实例运行在“背后”有一个Apache Web服务器的Linux服务器上。我认为这和如何运行自托管实例的说明中描述的差不多。

昨天我设置了另一个实例来测试从另一个论坛迁移。我也没有在那里看到这些选项。

:man_shrugging:

你是否关闭了该选项(如果之前是开启的),然后再尝试启用它?
你永远不会自己设置这些值。

1 个赞

不,我无法启用它。错误文本说我需要先设置 client_id 和 client_secret。

这就是我所说的先有鸡还是先有蛋的问题。是哪个问题先出现,或者我无法在看不到输入框的情况下设置值来启用它。

我认为 pfaffman 试图解释的是,虽然错误提示说需要在启用该设置之前配置那些设置,但不是你而是软件填充了它们。

也许 Discourse ID fails to activate on my instance 可以为你提供一些可以尝试的其他方法。

1 个赞

听起来像是反向代理设置有问题,正如我所料

尝试开启 force_https。这通常是反向代理的一个常见问题,因为 Discourse 无法得知它是 https

force_https 从一开始就开启了。

昨天我首次登录新安装的实例时,它立刻询问我是否要开启 force_https

但是的,Apache 运行的是 HTTPS,反向代理在 Discourse Docker 容器上使用 8080 http 端口。但不知何故,Discourse 仍然知道它正在运行 https。

That’s my best guess. How did you turn on force https

在带有网页浏览器的管理员区域。应该在控制台上进行吗?例如

rails r \"SiteSetting.force_https=true\"

刚试过。在控制台上似乎有效,因为它没有提供任何反馈。

但我仍然在(网页浏览器中)看不到客户端 ID 和客户端密钥的两个新设置。

1 个赞