升级后出现 SAML 错误

继续讨论 PostgreSQL 12 更新

升级后,我在网站上收到了一个之前未出现的 SAML 错误:

抱歉,授权您的账户时发生错误。请重试。

错误日志显示:

(saml) 认证失败!invalid_ticket: OneLogin::RubySaml::ValidationError, http://www.example.com 不是此响应有效的受众 - 有效受众:https://love.public.cat

我使用的是 Keycloak SAML 客户端。插件是否有变更,需要在插件中额外设置?顺便一提,该插件使用环境变量,这使得它在多站点环境中难以使用。

我尝试在 Keycloak 中添加受众字段,但这没有带来任何变化。有什么建议吗?

1 个赞

这里有什么想法吗,@vinothkannans

1 个赞

您是否在“全局设置”或环境变量中设置了 saml_base_url?在 /auth/saml/metadata 中,该值的错误为 www.example.com,而正确值应为 love.public.cat。默认情况下,您无需为该设置指定任何值。

2 个赞

不,我并没有在任何地方指定这一点。我测试了在 Keycloak 端移除等效设置,结果导致认证失败。我也尝试过移除 SSO,同样失败了。我需要进一步调查,因为在不同的多站点安装中,即使 Discourse 和 Keycloak 的 SAML 设置相同,表现也不一致。这是否可能与 SSO 存在不良交互?例如,某种认证模式在某个时刻接管了另一种?

我们从未在多个站点中测试过“discourse-saml”插件。该插件可能不兼容此场景。我不建议同时为多个站点启用 SAML 插件。请在 app.yml 文件中设置所有环境变量。

1 个赞