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

时间:2017-10-20 14:43:40

标签: java spring-boot single-sign-on redhat keycloak

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

例如,我从数据库中检索Realm,Server URL,ClientID和其他参数,我想告诉keycloak直接从数据库中读取,或者从我在启动时声明的String中读取。

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:1)

KeycloakSpringBootConfigResolver类似,您的数据库读取器类必须实现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。