Пример #1
0
  @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;
  }