使用 PostgreSQL 配置 Keycloak

use*_*978 5 postgresql keycloak

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

小智 5

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

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

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

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

GitHub 仓库:

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


Pac*_*ato 0

我正在做类似的开发,但使用的是 Oracle 和 JSF。

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

  • 一种实现 UserStorageProvider、UserLookupProvider 和 CredentialInputValidator
  • 一个实现 UserStorageProviderFactory
  • 一个扩展 AbstractUserAdapter

然后我创建了另一个项目,它创建了一个ear文件,其中包含前一个项目中生成的jar文件以及lib文件夹内的驱动程序jar文件(在您的情况下为PostgreSQL)。

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