Skip to content

Instantly share code, notes, and snippets.

@gdiazs
Last active December 6, 2020 23:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gdiazs/99f96818563f4edac434c45335a1c2f4 to your computer and use it in GitHub Desktop.
Save gdiazs/99f96818563f4edac434c45335a1c2f4 to your computer and use it in GitHub Desktop.
Keycloak Multiple Files (tomee 8 + microprofile)
import java.io.InputStream;
import java.nio.file.FileSystemNotFoundException;
import org.eclipse.microprofile.config.ConfigProvider;
import org.keycloak.adapters.KeycloakConfigResolver;
import org.keycloak.adapters.KeycloakDeployment;
import org.keycloak.adapters.KeycloakDeploymentBuilder;
import org.keycloak.adapters.spi.HttpFacade.Request;
public class FortbizKeyCloakConfigResolver implements KeycloakConfigResolver {
@Override
public KeycloakDeployment resolve(Request facade) {
final var config = ConfigProvider.getConfig(this.getClass().getClassLoader());
var keycloakFileName = config.getOptionalValue("keycloak.config", String.class);
if (keycloakFileName.isPresent()) {
InputStream is = this.getClass().getClassLoader().getResourceAsStream(keycloakFileName.get());
return KeycloakDeploymentBuilder.build(is);
}
throw new FileSystemNotFoundException("keycloak json file not found");
}
}
Aditional Maven Deps
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
<version>11.0.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
<version>11.0.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-spi</artifactId>
<version>11.0.3</version>
<scope>provided</scope>
</dependency>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment