使用 ADFS 设置 SAML

我们正尝试使用 SAML 插件:GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub 来添加对 ADFS 的 SAML 登录支持。然而,我似乎进展不大。一旦我对这个过程有了更好的把握,我很乐意为其他人撰写更详细的操作指南。

目前我最大的问题是无法让“使用 SAML 登录”按钮显示出来。

以下是我关于该过程的更详细问题:

  1. 所有的 SAML 设置都是通过 app.yml 完成的,对吗?是否不需要或不应使用任何真实的 /admin 设置或更改?
  2. app.yml 中的 SAML 设置是否应放在 env: 部分?
  3. DISCOURSE_SAML_CERT_FINGERPRINT 和 DISCOURSE_SAML_CERT 的值在 app.yml 中是否应使用双引号 (") 包裹?
  4. DISCOURSE_SAML_CERT 是否应包含 BEGIN/END CERTIFICATE 的头部/尾部?
  5. 证书 DISCOURSE_SAML_CERT 是否应全部放在一行,还是应该包含换行符?
  6. 为了使“使用 SAML 登录”按钮出现,是否必须将 DISCOURSE_SAML_AUTO_CREATE_ACCOUNT 设置为 TRUE 或 1?meta 上似乎有另一篇帖子暗示这是必需的。
  7. 我应该查看哪些日志以确定按钮为何未出现?

感谢任何协助。明确一下,我们已经添加了插件,调整了 app.yml 设置并重新构建,但按钮仍未出现。该插件确实在 /admin/plugins 中显示已安装,所以我觉得基础部分没问题,但显然遗漏了一些重要的内容,而且我在查找相关流程文档方面也不太顺利。

是的,这样做是个好习惯。

不需要。

应该写在一行。例如:DISCOURSE_SAML_CERT="MII...."

不需要。

现在关于按钮未显示的问题,除了你在本贴中提到的那些键之外,你在 app.yml 中还设置了哪些键?

感谢所有的澄清!

这是一个全新安装,仅用于测试此流程,因此除了 ./discourse-setup 所执行的操作外,没有其他配置。系统中唯一的另一个插件是:docker_manager

以下是我的 Saml 插件设置部分的样子:

我刚刚做了一个快速测试,仅仅安装该插件(无需任何配置)就应足以让按钮出现。(当然,如果没有配置,它将无法使用)。

因此,看起来您的问题更多出在插件安装环节。

有意思,谢谢提供的信息。那我可能干脆把 /var/discourse 删掉,从头开始吧。

不过,非常感谢你澄清了这么多要点。

需要明确的是,插件 URL 为:GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub

@RGJ 你测试过哪些版本的插件?在清除 /var/discourse 并重新构建后,我仍然看不到登录按钮。我尝试了带和不带 .git 的插件 URL。

如果我执行 ./launcher enter app,我看到插件目录似乎已经存在:

仍然没有按钮 :frowning:

大家好,早上好。我是新用户,第一次登录 :slight_smile:
很高兴看到如此出色的平台。
我们是否有便捷的 ADFS 集成文档?
特别是需要逐步说明在 ADFS 和 Discourse 中应配置哪些属性和其他参数。

如果有任何完全了解此流程的人能帮助我们,那就太好了。非常感谢!