@GetMapping(OAuth20Constants.BASE_OAUTH20_URL + '/' + OAuth20Constants.UMA_JWKS_URL)
    @Operation(
        summary = "Get JWKS used to sign RPTs",
        description = "Returns the JWKS used to sign RPTs")
    public ResponseEntity<String> getKeys(final HttpServletRequest request, final HttpServletResponse response) {
        try {
            val jwks = getUmaConfigurationContext().getCasProperties().getAuthn()
                .getOauth().getUma().getRequestingPartyToken().getJwksFile().getLocation();
            if (ResourceUtils.doesResourceExist(jwks)) {
                try (val is = jwks.getInputStream()) {
                    val jsonJwks = IOUtils.toString(is, StandardCharsets.UTF_8);
                    val jsonWebKeySet = new JsonWebKeySet(jsonJwks);
                    val body = jsonWebKeySet.toJson(JsonWebKey.OutputControlLevel.PUBLIC_ONLY);
                    response.setContentType(MediaType.APPLICATION_JSON_VALUE);
                    return new ResponseEntity<>(body, HttpStatus.OK);
                }
            }
            return new ResponseEntity<>("UMA RPT JWKS resource is undefined or cannot be located", HttpStatus.NOT_IMPLEMENTED);
        } catch (final Exception e) {
            LoggingUtils.error(LOGGER, e);
            return new ResponseEntity<>(StringEscapeUtils.escapeHtml4(e.getMessage()), HttpStatus.BAD_REQUEST);
        }
    }
Gets JWKS used to sign RPTs.

@param request  the request
@param response the response
@return redirect view
support/cas-server-support-oauth-uma-core/src/main/java/org/apereo/cas/uma/web/controllers/rpt/UmaRequestingPartyTokenJwksEndpointController.java