@Override public KeycloakDeployment resolve(OIDCHttpFacade.Request request) { if (keycloakDeployment != null) { return keycloakDeployment; } keycloakDeployment = KeycloakDeploymentBuilder.build(KeycloakSpringBootConfigResolver.adapterConfig); return keycloakDeployment; }
KeycloakInstalled(InputStream config) { deployment = KeycloakDeploymentBuilder.build(config); }
public void updateDeployment(AdapterConfig config) { if (null != configResolver) { throw new IllegalStateException("Cannot parse an adapter config and build an updated deployment when on a multi-tenant scenario."); } deployment = KeycloakDeploymentBuilder.build(config); } }
KeycloakInstalled() { InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(KEYCLOAK_JSON); deployment = KeycloakDeploymentBuilder.build(config); }
private KeycloakDeployment createKeycloakDeploymentFrom(InputStream is) { if (is == null) { log.fine("No adapter configuration. Keycloak is unconfigured and will deny all requests."); return new KeycloakDeployment(); } return KeycloakDeploymentBuilder.build(is); }
public static void build(InputStream is, ServletOAuthClient oauthClient) { KeycloakDeployment deployment = KeycloakDeploymentBuilder.build(is); oauthClient.setDeployment(deployment); } }
private KeycloakDeployment loadKeycloakDeployment() throws IOException { if (!keycloakConfigFileResource.isReadable()) { throw new FileNotFoundException(String.format("Unable to locate Keycloak configuration file: %s", keycloakConfigFileResource.getFilename())); } return KeycloakDeploymentBuilder.build(keycloakConfigFileResource.getInputStream()); }
public ApplicationBuilder(AdapterConfig config) { this.deployment = KeycloakDeploymentBuilder.build(config); this.deploymentContext = new AdapterDeploymentContext(deployment); }
private AdapterDeploymentContext createDeploymentContext(byte[] config) { return new AdapterDeploymentContext(KeycloakDeploymentBuilder.build(new ByteArrayInputStream(config))); } }
public void initializeKeycloak() { KeycloakDeployment kd = KeycloakDeploymentBuilder.build(adapterConfig); deploymentContext = new AdapterDeploymentContext(kd); }
private AdapterDeploymentContext getDeploymentContext() { if (configResolver != null) { LOG.log(Level.INFO, "Using {0} to resolve Keycloak configuration on a per-request basis.", configResolver.getClass()); return new AdapterDeploymentContext(configResolver); } else if (adapterConfig != null) { KeycloakDeployment kd = KeycloakDeploymentBuilder.build(adapterConfig); return new AdapterDeploymentContext(kd); } LOG.warning("Adapter is unconfigured, Keycloak will deny every request"); return new AdapterDeploymentContext(); }
protected KeycloakDeployment resolveDeployment(String keycloakConfigFile) { try { InputStream is = null; if (keycloakConfigFile.startsWith(PROFILE_RESOURCE)) { try { is = new URL(keycloakConfigFile).openStream(); } catch (MalformedURLException mfue) { throw new RuntimeException(mfue); } catch (IOException ioe) { throw new RuntimeException(ioe); } } else { is = FindFile.findFile(keycloakConfigFile); } KeycloakDeployment kd = KeycloakDeploymentBuilder.build(is); return kd; } catch (RuntimeException e) { getLogger().debug("Unable to find or parse file " + keycloakConfigFile + " due to " + e.getMessage(), e); throw e; } }
/** * Validates the configuration content. This builds a dummy deployment, and recasts and * exceptions so that GeoServer can process them as security-related. * * @param config the configuration to validate * @throws FilterConfigException if the configuration is invalid */ public void validateKeycloakConfig(GeoServerKeycloakFilterConfig config) throws FilterConfigException { try { KeycloakDeploymentBuilder.build(config.readAdapterConfig()); LOG.log(Level.FINE, "valid Keycloak config"); } catch (RuntimeException | IOException e) { LOG.log(Level.FINE, "invalid Keycloak config", e); throw new FilterConfigException(null, e.getLocalizedMessage()); } } }
public static ServletOAuthClient build(InputStream is) { KeycloakDeployment deployment = KeycloakDeploymentBuilder.build(is); ServletOAuthClient client = new ServletOAuthClient(); client.setDeployment(deployment); return client; }
@Override public void setup(Config config) { String configFile = "classpath:conf/keycloak.json"; if (config.hasPath("file")) { configFile = config.getString("file"); } keycloakConfig = parseKeycloakConfig(configFile); keycloakDeployment = KeycloakDeploymentBuilder.build(keycloakConfig); realmName = keycloakConfig.getRealm() + "/" + keycloakConfig.getResource(); if (config.hasPath("name")) { realmName = config.getString("name"); } definedRoles.clear(); definedRoles.putAll(parseDefinedRoles(config)); }
public static ServletOAuthClient build(AdapterConfig adapterConfig) { KeycloakDeployment deployment = KeycloakDeploymentBuilder.build(adapterConfig); ServletOAuthClient client = new ServletOAuthClient(); client.setDeployment(deployment); return client; }
@Override public void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException { LOG.log(Level.FINER, "GeoServerKeycloakFilter.initializeFromConfig ENTRY"); super.initializeFromConfig(config); GeoServerKeycloakFilterConfig keycloakConfig = (GeoServerKeycloakFilterConfig) config; KeycloakDeployment deployment = KeycloakDeploymentBuilder.build(keycloakConfig.readAdapterConfig()); this.keycloakContext = new AdapterDeploymentContext(deployment); }
protected void start() { if (started) { throw new IllegalStateException("Filter already started. Make sure to specify just keycloakConfigResolver or keycloakConfigFile but not both"); } if (keycloakConfigResolverClass != null) { Class<? extends KeycloakConfigResolver> resolverClass = loadResolverClass(); try { KeycloakConfigResolver resolver = resolverClass.newInstance(); log.info("Using " + resolver + " to resolve Keycloak configuration on a per-request basis."); this.deploymentContext = new AdapterDeploymentContext(resolver); } catch (Exception e) { throw new RuntimeException("Unable to instantiate resolver " + resolverClass); } } else { if (keycloakConfigFile == null) { throw new IllegalArgumentException("You need to specify either keycloakConfigResolverClass or keycloakConfigFile in configuration"); } InputStream is = loadKeycloakConfigFile(); KeycloakDeployment kd = KeycloakDeploymentBuilder.build(is); deploymentContext = new AdapterDeploymentContext(kd); log.info("Keycloak is using a per-deployment configuration loaded from: " + keycloakConfigFile); } nodesRegistrationManagement = new NodesRegistrationManagement(); started = true; }
@Override public void run(LotteryConfiguration configuration, Environment environment) { // tag::keycloak[] KeycloakDeployment keycloakDeployment = KeycloakDeploymentBuilder.build(configuration.getKeycloakConfiguration()); JaxrsBearerTokenFilterImpl filter = new DropwizardBearerTokenFilterImpl(keycloakDeployment); environment.jersey().register(filter); // end::keycloak[] environment.jersey().register(new DrawRessource()); // support annotation @RolesAllowed // tag::roles[] environment.jersey().register(RolesAllowedDynamicFeature.class); // end::roles[] } }