in hawtio-system/src/main/java/io/hawt/web/auth/keycloak/KeycloakServlet.java [42:81]
public void init() {
ConfigManager config = (ConfigManager) getServletContext().getAttribute(ConfigManager.CONFIG_MANAGER);
authConfiguration = AuthenticationConfiguration.getConfiguration(getServletContext());
keycloakEnabled = authConfiguration.isKeycloakEnabled();
LOG.info("Keycloak integration is {}", this.keycloakEnabled ? "enabled" : "disabled");
if (!keycloakEnabled) {
return;
}
String keycloakConfigFile = config.get(KEYCLOAK_CLIENT_CONFIG, null);
// JVM system properties can override always
if (System.getProperty(HAWTIO_KEYCLOAK_CLIENT_CONFIG) != null) {
keycloakConfigFile = System.getProperty(HAWTIO_KEYCLOAK_CLIENT_CONFIG);
}
if (keycloakConfigFile == null || keycloakConfigFile.length() == 0) {
keycloakConfigFile = defaultKeycloakConfigLocation();
}
LOG.info("Will load keycloak config from location: {}", keycloakConfigFile);
InputStream is = ServletHelpers.loadFile(keycloakConfigFile);
if (is == null) {
LOG.warn("Keycloak client configuration not found!");
} else {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String keycloakConfig = IOHelper.readFully(reader);
// Minify for perf purposes
this.keycloakConfig = keycloakConfig.replaceAll(" ", "").replaceAll(System.lineSeparator(), "");
} catch (IOException ioe) {
LOG.warn("Couldn't read keycloak configuration file", ioe);
} finally {
IOHelper.close(is, "keycloakInputStream", LOG);
}
}
}