`sso overrides groups` 是否与 Oauth2 一起使用?

我想使用此功能。我们使用的是托管企业版计划,因此无法使用 SAML,目前采用的是 OAuth2 / OpenID Connect。我相信我的配置已正确无误(已启用“SSO 覆盖组”,且 OAuth2 范围设置为 openid profile email https://id.fedoraproject.org/scope/groups)。

我对 Discourse 中“SSO”一词的用法以及各项选项的显示位置有些困惑。不过,我们已启用“SSO 覆盖用户名”,该功能运行正常。那么,组覆盖功能是否也应同样生效?

1 个赞

SSO 覆盖组 设置不适用于 OAuth2。它仅适用于 Discourse 的 SSO 实现:https://meta.discourse.org/t/discourseconnect-official-single-sign-on-for-discourse-sso/13045。为避免在此问题上产生混淆,我们正在将 Discourse SSO 重命名为 DiscourseConnect

1 个赞

哎,真遗憾。重命名确实有助于减少混淆,但无法满足我的需求。这个限制是有意为之,还是尚未实现?

该设置使用了与 OAuth2 登录不同的代码路径。通过 OAuth2 同步群组尚未实现。能够将 Discourse 群组与外部站点的群组进行同步,对 Discourse 来说有许多应用场景,因此希望未来能够实现这一功能。目前,您唯一的选项是通过 API 管理群组成员资格。

4 个赞

因此,我们有一些关于实现 OAuth2 的 groups 功能的非常早期的潜在补丁:

:warning: 但是,由于我们使用的是托管计划,我们没有快速的测试环境来验证这些补丁,因此它们目前完全是理论上的。我们会尝试尽快搭建这样的环境,但这确实不是任何人的日常工作,所以如果有任何其他人能帮助审查和测试这些补丁,那就太棒了。

3 个赞

如果您将这些提交作为拉取请求(PR)发往我们的仓库,我们将进行审查。虽然无法保证一定会合并,但至少会进行审查。

3 个赞

太棒了,谢谢。我会尝试先进行本地测试,或者找一位热心的志愿者实际验证一下它们是否有效,然后再移除 :warning:

2 个赞

我还没来得及处理这件事(也没找到能帮忙的人……)。如果阅读此信息的朋友愿意伸出援手,那就太棒了。

一旦 Managing group membership via authentication - #14 by mattdm 完成,我们肯定会考虑使其与 OAuth2 插件配合使用 :slight_smile:

3 个赞

我已部署了上述链接的更改,似乎没有破坏 Discourse。是否有相关的文档说明如何运行测试,以便我可以验证更改没有破坏任何功能?

1 个赞

不错!暂且不说破坏性的东西,它们真的能用吗?

长话短说,除非我在 Fedora 账户系统(FAS)或其他 OIDC 系统上使用模拟环境进行测试,否则我无法确定。不过,我也很想了解如何使用 Discourse 的冒烟测试功能,该功能似乎在无头 Chrome 浏览器上运行,但我目前难以找到相关文档。

是否有 Discourse 的开发者知道在哪里可以找到运行冒烟测试的方法?

是否有 Fedora 的开发者能提供一套模拟的 FAS 系统供测试使用?

1 个赞

嗯。Fedora 账户系统……相当庞大。(不过,鉴于今年进行了重大升级,其底层实际上是 FreeIPA,因此理论上任何人都可以构建类似的系统。)

我们能否将您的测试 Discourse 实例与实际的 Fedora 账户系统连接起来?

各位朋友!我可以将您添加到我们的暂存 Oauth2 实例,这有帮助吗?

1 个赞