如何在 Keycloak 上实现自定义社交身份提供程序?

时间:2021-04-07 11:47:15

标签: keycloak

我正在尝试在 Keycloak 上集成不支持 OpenID Connect 1.0 作为身份提供者的旧式 OAuth 2.0 提供者。

这个遗留提供者提供了一个 xml 服务,返回类似于 userinfo 的用户详细信息。

我看到 Keycloak 有社交提供者的概念,但我找不到任何关于如何在 GUI 上实现和注册新的资源。

1 个答案:

答案 0 :(得分:0)

以下是 Keycloak 文档中涉及此类提供程序的部分:Identity Brokering APIs

我还建议您查看一些实现为 Keycloak extensions 的自定义提供程序的源代码。这可能很有帮助。

实施自定义身份提供程序通常不是一项简单的任务,并且会有很多边缘情况和不可预测的情况。如果您的 Keycloak 服务器可以访问您的身份提供者的数据库(例如,通过只读视图),那么实现一个为 Keycloak 获取用户的自定义 UserStorageProvider 会容易得多。所有其他的东西都将由 Keycloak 自己处理。然后,您还可以使用一些自定义映射器来获取这些用户属性并允许您将它们放入令牌中。