public Map<String, Object> metadata() throws JsonProcessingException {
        Map<String, Object> response = new HashMap<>();
        response.put("issuer", frontchannel);
        response.put("authorization_endpoint", frontchannel + "/authorization");
        response.put("jwks_uri", frontchannel + "/jwks");
        response.put("token_endpoint", backchannel + "/token");
        response.put("scopes_supported", List.of("openid"));
        response.put("response_types_supported", List.of("code"));
        response.put("claims_parameter_supported", false);
        response.put("claims_supported", List.of("sub", "acr"));
        response.put("grant_types_supported", List.of("authorization_code"));
        response.put("subject_types_supported", List.of("public"));
        response.put("sub_id_types_supported", List.of("urn:nl-eid-gdi:1.0:id:legacy-BSN"));
        response.put("acr_values_supported", List.of(LevelOfAssurance.MIDDEN, LevelOfAssurance.SUBSTANTIEEL));
        response.put("token_endpoint_auth_methods_supported", List.of("tls_client_auth"));

        response.put("id_token_signing_alg_values_supported", List.of("RS256"));
        response.put("id_token_encryption_alg_values_supported", List.of("RS256"));

        response.put("request_object_signing_alg_values_supported", Arrays.asList("RS256"));
        response.put("request_object_encryption_enc_values_supported", Arrays.asList("RS256"));

        response.put("request_uri_parameter_supported", false);


        response.put("signed_metadata", generateJWT(MAPPER.writeValueAsString(response)));
        return response;
    }
@Test
    void metadataTest() throws JsonProcessingException {
        var response = provider.metadata();

        assertEquals(List.of("code"), response.get("response_types_supported"));

    }