使用PostgreSQL配置Keycloak 我将我的解决方案发布为多 RDBMS 实现oracle、mysql、postgresl、sqlserver来解决简单的数据库联合需求,支持 bcrypt 和多种类型的哈希

问题描述

我使用JDBC开发了Spring Boot Rest API项目,数据库是Postgresql。我使用Keycloak添加了授权。我想使用用户联合,因为我想在Postgresql数据库中使用用户。如何使用它以及不使用用户联合的其他方式?

解决方法

我正在使用Oracle和JSF进行类似的开发。

我创建了一个包含三个类的项目:

  • 一个实现UserStorageProvider,UserLookupProvider和CredentialInputValidator的人
  • 一个实现UserStorageProviderFactory的人
  • 一个扩展的AbstractUserAdapter

然后,我创建了另一个项目,该项目创建一个ear文件,其中包含在先前项目中生成的jar文件以及lib文件夹内的驱动程序jar文件(对于您而言是PostgreSQL)。

最后,将ear文件复制到Keycloak服务器的/ opt / jboss / keycloak / standalone / deployments /文件夹中,并将其自动部署为SPI。必须在Keycloak的管理应用程序的“用户联盟”部分中添加此提供程序。

,

我最近遇到了同样的问题。我有使用不同 RDBMS 的不同客户端,所以我决定解决这个问题,以便我可以在多个客户端上重用我的解决方案。

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

只需在 keycloak 上构建和部署此解决方案,并通过管理控制台配置它,提供 jdbc 连接字符串、登录名、密码、所需的 SQL 查询和使用的哈希类型。

随意克隆、分叉或做任何你需要的事情来解决你的问题。

GitHub 存储库:

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