@ApiOperation("Retrieve the keycloak Javascript adapter (for use by the UI)") @ApiResponses({ @ApiResponse( code = 200, message = "Keycloak is disabled, return a Javascript comment to this effect."), @ApiResponse(code = 307, message = "Redirect to keycloak server to load Javascript adapter.") }) @Path("/keycloak.js") @Produces("text/javascript") @GET public Response getKeycloakJs() { logger.debug("Retrieving Keycloak Javascript adapter..."); Response response = null; try { final String url = controller.getKeycloakJs(); if (url == null) { response = Response.ok("/* " + DISABLED_MESSAGE + "; loading of keycloak.js blocked. */") .header(ApplicationHeader.cache_control.key(), NO_CACHE) .build(); } else { response = Response.temporaryRedirect(new URI(url)).build(); } } catch (final IndyWorkflowException | URISyntaxException e) { logger.error(String.format("Failed to load keycloak.js. Reason: %s", e.getMessage()), e); response = formatResponse(e); } return response; }