将Discourse与Keycloak集成

我想将 discourse 与 keycloak 集成,有什么建议吗?谢谢。

此致
Ndacyayisenga

Keycloak 支持 OpenID Connect,因此您可以使用 OpenID Connect Authentication Plugin 与之集成

1 个赞

几年前,我编写了一个 Keycloak 插件(身份提供商),用于使用 Discourse 身份验证 API 登录 Keycloak。不确定它是否与 Discourse SSO 的最新更改兼容,但如果您需要这部分,我可能可以随时发布它。

@ldywicki 我将不胜感激

您好,
我在 Discourse Meta 上搜索了多次,但找不到我想要的内容(现有讨论要么没有答案,要么似乎已过时)。

我们已经运行了 Keycloak 来进行用户管理(并将其用于例如身份验证我们自己应用程序的用户)。
现在我们设置了一个 Discourse 实例,并希望使用 Keycloak 作为 SSO 提供商。

DiscourseConnect 是正确的方法吗?还是我们需要 openid 或 SAML 插件(或两者都需要)?
我们需要在 Keycloak 端配置什么?只是标准配置,还是需要插件?

提前感谢!
Gunnar

1 个赞

您好 @gschmid,欢迎来到 Discourse Meta :wave:

在这种情况下,最好的方法是使用插件,根据您的具体需求,可能是 OAuth2 Basic 或 Discourse SAML

我将它们放在下面:

如果您需要,我很乐意提供帮助 :grinning_face_with_smiling_eyes:

亚历山大,您好:

感谢您的快速回复。

那我根本不需要 DiscourseConnect?那它的用途是什么?

您的身份验证服务器(或 API 等)应具有与 Discourse Connect 兼容的流程(在此处 Explained)。

Keycloak 在这种情况下没有原生支持,因此更建议使用上述插件之一。

我知道 DiscourseConnect 文档,但无法将这些零散的部分整合起来。只是出于好奇,哪些身份验证服务器支持此功能?

无论如何,我现在将尝试让建议的插件正常运行。再次感谢。

1 个赞

好的,第一部分工作已完成 - https://github.com/Code-House/keycloak-discourse。
此存储库包含必要的代码,允许 Keycloak 使用“Discourse Connect”协议从 Discourse 获取身份信息。

2 个赞

Keycloak 是一个通用的身份提供程序 - 它确实提供了与 OpenID Connect 兼容的端点来对外部应用程序进行身份验证。您可以使用 discourse-openid-connect 插件 将 Keycloak 与 Discourse 配对。
Discourse Connect 有点不同。据我所知,它允许将用户管理完全委托给 Keycloak,这可能不是您一开始需要的。

注意,我做了一个集成,让 Keycloak 与 Discourse 作为身份提供程序 一起工作。据我所知,为 Keycloak 实现 Discourse Connect 兼容的端点是可能的,但这又是另一回事。 :wink:

3 个赞

Discourse Connect 有点不同。据我所知,它允许将用户管理完全委托给 Keycloak,这可能不是你一开始需要的。”

“实际上,这正是我想要的,但由于似乎没有直接的解决方案,我正在尝试使用 OIDC 插件。”

我将能够为 Keycloak 提供这种集成。它需要扩展 Keycloak 内的另一个 API(登录协议)。请在七月提醒我完成它。 :wink:

3 个赞

您好 @ldywicki ,我已经编译了 Keycloak 身份提供程序模块的最新版本,但它似乎与最新的 Discourse 和最新的 Keycloak 版本都不兼容。您认为您可以为此提供更新吗? :blush:
感谢您的工作!

Danir 您好:
我将能够更新此补充内容,但我需要一些时间。您在我搬家前不久联系了我,因此我需要一些时间来测试最近的 Keycloak 出了什么问题。

@ldywicki
您的 Keycloak Spinup 与原生 Keycloak 有何不同?

我已经通过 Docker 安装了原始 Keycloak。
控制台中没有错误消息,用户在通过 Keycloak 进行身份验证后,会停留在登录屏幕上,并出现一个无尽的旋转加载符号。

我找不到原因。请帮忙。