From 2e4a3f6f5f283f52f326e2045eaa8d001099bed1 Mon Sep 17 00:00:00 2001 From: Marek Posolda Date: Thu, 24 Oct 2024 12:43:04 +0200 Subject: [PATCH] Keycloak-admin-client should work with the future versions of Keycloak server (#34285) closes #34284 Signed-off-by: mposolda --- .../java/org/keycloak/admin/client/JacksonProvider.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/JacksonProvider.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/JacksonProvider.java index bccb1788ef8..ecd5773869b 100644 --- a/integration/admin-client/src/main/java/org/keycloak/admin/client/JacksonProvider.java +++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/JacksonProvider.java @@ -1,5 +1,6 @@ package org.keycloak.admin.client; +import com.fasterxml.jackson.databind.DeserializationFeature; import jakarta.ws.rs.core.MediaType; import com.fasterxml.jackson.annotation.JsonInclude; @@ -14,7 +15,10 @@ public class JacksonProvider extends ResteasyJackson2Provider { // Same like JSONSerialization class. Makes it possible to use admin-client against older versions of Keycloak server where the properties on representations might be different objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); - + + // The client must work with the newer versions of Keycloak server, which might contain the JSON fields not yet known by the client. So unknown fields will be ignored. + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return objectMapper; } }