diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/SamlAuthenticationDetails.java b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/SamlAuthenticationDetails.java index 66e6dbf1d..1db1f6179 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/SamlAuthenticationDetails.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/SamlAuthenticationDetails.java @@ -172,7 +172,10 @@ public class SamlAuthenticationDetails { } private static void addStringOrNull(JsonObject target, String key, String value) { - if (value == null) { + if (target == null || !StringUtils.hasText(key)) { + return; + } + if (value == null || "null".equalsIgnoreCase(value)) { target.add(key, new JsonNull()); } else { target.addProperty(key, value); @@ -180,7 +183,7 @@ public class SamlAuthenticationDetails { } private static String getStringOrNull(JsonElement jsonElement) { - if (jsonElement.isJsonPrimitive()) { + if (jsonElement != null && jsonElement.isJsonPrimitive()) { return jsonElement.getAsString(); } else { return null;