在代码中传递 keycloak 配置参数而不是从 application.properties 中读取

Passing keycloak configuration parameters in the code rather than reading from application.properties

在我的 SpringBoot 应用程序中,我在 application.properties 文件中传递了我的 keycloak 配置参数。但是,我想知道是否有办法让 keycloak 从代码而不是从 application.properties.

中读取这些参数

例如,我从数据库中获取Realm、Server URL、ClientID等参数,我想告诉keycloak直接从数据库中读取或者从我启动时声明的String中读取.

这可能吗?

谢谢

类似于 KeycloakSpringBootConfigResolver,您的数据库 reader class 必须实现 KeycloakConfigResolver 并且应该作为 bean 提供。

public class KeycloakDBConfigResolver implements org.keycloak.adapters.KeycloakConfigResolver {

 @Override
 public KeycloakDeployment resolve(OIDCHttpFacade.Request request) {
    //Read keycloak configuration from Database
   }
}

resolve() 方法应该从数据库中读取 keycloak 配置并构造 KeycloakDeployment。