代码之家  ›  专栏  ›  技术社区  ›  Sagar Chilukuri

使用现有MySQL数据库进行用户身份验证的KeyClope用户联合

  •  13
  • Sagar Chilukuri  · 技术社区  · 7 年前

    我正在尝试为我们的组织设置Keyclope服务器。我有几个问题。

    1. 我们如何使用现有的用户数据库来验证用户-用户联合。Keyclope只有LADP/Kerberos选项。是否有任何自定义插件可用于MySQL用户身份验证,或者我们是否可以通过数据库适配器使用现有连接器本身(LDAP/Kerberos)?
    2. 是否有可能在Keyclope环境中有多个身份提供者-(将Keyclope作为少数服务的IDP,而将Keyclope作为Google IDP用于其他服务)。

    我遵循了官方文档,但由于某种原因,无法查看 link 。任何有帮助的链接到适当的指南都会很好。

    3 回复  |  直到 7 年前
        1
  •  10
  •   Batuhan    5 年前

    检查KeyClope自定义用户联合

    这意味着,在keyclope用户名/密码登录时使用不同的数据源(或进程)

    请参见=>

    1. https://github.com/keycloak/keycloak-documentation/blob/master/server_development/topics/user-storage/simple-example.adoc
    2. https://tech.smartling.com/migrate-to-keycloak-with-zero-downtime-8dcab9e7cb2c github=>( https://github.com/Smartling/keycloak-user-migration-provider )

    第一个链接=>解释如何将外部db配置为KeyClope。

    第二个链接(需要更改)=>这些例子可以这样改变,

    • 您可以创建自定义联合实现,
    • 这将是呼叫您的服务,
    • 您的服务将查询您的数据库
    • 您的服务将响应您的结果

    第二个示例(我的建议)是抽象您的自定义代码(联合进程、服务)和keyclope。keybeave ony调用您的服务,其他一切都是您的实现。

        2
  •  9
  •   tom    7 年前

    您应该实现自己的用户存储SPI,以将MySQL db集成为外部用户存储db

    https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi

        3
  •  2
  •   Vinicius Uriel    3 年前

    我回答了一个关于现有数据库用户和keyclope身份验证的类似问题(链接 here )

    我将自己的解决方案发布为多RDBMS实现(oracle、mysql、postgresl、sqlserver),以解决简单的数据库联合需求,支持bcrypt和几种类型的哈希。

    它是一个可配置的KeyClope自定义提供程序,您只需设置一些SQL查询,即可使用。

    它已经与新的Keyclope quarkus部署兼容。

    您可以随意克隆、分叉、贡献或做任何您需要的事情来解决您的问题。

    GitHub回购:

    https://github.com/opensingular/singular-keycloak-database-federation