WP Discourse 插件表现异常

新帖子在 Discourse 中创建了新的主题,但开始讨论的链接没有显示,反而出现以下提示:

此帖子暂不可用评论。

如果跳转到插件页面,也会出现此错误?但插件已连接,因为它至少能创建主题。

您未连接到 Discourse。如果您正在设置插件,完成本页面的表单后,此提示应会消失。

我还在 Discourse 中注意到了这一点

我们检测到使用了已弃用的身份验证方法的 API 请求。请更新它以使用 基于头的身份验证

您最近更新过 wp-discourse 吗?

是的,我相信所有东西都已更新到最新版本…

另外在博客文章中也注意到了这个问题

从 Discourse 返回分类列表时发生错误

我已停用插件,重新创建了 Webhook(状态显示为绿色),并生成了新的 API 密钥,但问题仍未解决。

2.4.0.beta7

(58b5d1434b)

Wordpress 5.3

插件 1.9.7

昨天将 WordPress 升级到 5.3 之前,它是否正常运行?

WP Discourse 插件不应导致此警告。该插件发出的所有 API 请求均使用基于请求头的身份验证。无论如何,这只是一个弃用通知。使用 URL 参数进行 API 请求身份验证在不久的将来仍将继续有效。

请检查您在插件的“发布用户名”设置中输入的用户在 Discourse 上是否仍处于激活状态。为此,请前往该用户的管理员页面,查看“权限”部分中的“已激活”行。如果“已激活”设置为“否”,请点击“激活账户”按钮。

过去它一直正常工作,而且这发生在升级之前,但我不能说这两者有关联。

这是我唯一的 API 请求相关操作……但用户已被停用……这解决了问题,非常感谢——嗯,为什么会发生这种情况呢?非常感谢。

该通知可能是在您将插件更新至 1.9.7 版本之前创建的。我会留意该通知,以确保它不是由当前版本的插件生成的。

这可能与 Discourse 的“在多少天后使非活跃管理员邮箱失效”(invalidate inactive admin email after days)站点设置有关。近期的一些更改可能会影响仅用于连接 API 的账户。我相信该问题已在最近的更新中修复。

FYI 该用户再次被停用。不过,我现在正在升级到最新版的 Discourse。

已停用——再次重新激活并更新至最新版本的 Discourse……

用户再次被停用似乎不太对。我的理解是,点击“激活”按钮重新激活用户后,该用户应保持激活状态,时长由您的站点设置“在多少天后使不活跃的管理员邮箱失效”所指定的天数决定。请再次检查该设置,确保其值为默认值 365 天。此外,如果用户再次被停用,请告知我们。

我检查了该设置,其值为 365。我注意到账户再次处于非活动状态。已重新激活并更新了 Discourse(再次)。

我正在查看当前使非活跃管理员账户失效的代码。需要注意的是,通过将“使非活跃管理员邮箱失效的天数”设置为 0,可以绕过非活跃管理员邮箱被失效的情况。不过,我认为这并不是理想的解决方案。

如果管理员用户的 API 密钥在“使非活跃管理员邮箱失效的天数”所设定的时间段内被使用过,则不应使其管理员邮箱失效。在 WordPress 中,您是否将“发布用户名”设置为正在被停用的管理员账户,但在 API 密钥方面却使用的是“所有用户 API 密钥”?如果是这样,那么管理员账户持续被失效也就说得通了。

除非您有理由不在 WordPress 上使用“所有用户 API 密钥”,否则您可以更改 WP Discourse 连接设置中配置的值,改用您的“所有用户 API 密钥”以及系统用户的用户名。该用户名默认为 ‘system’。