diff --git a/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java b/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java index 69586529d7..2aa117605b 100644 --- a/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java +++ b/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java @@ -56,8 +56,10 @@ public class MongoAuditProvider implements AuditProvider { e.put("error", o.getError()); BasicDBObject details = new BasicDBObject(); - for (Map.Entry entry : o.getDetails().entrySet()) { - details.put(entry.getKey(), entry.getValue()); + if (o.getDetails() != null) { + for (Map.Entry entry : o.getDetails().entrySet()) { + details.put(entry.getKey(), entry.getValue()); + } } e.put("details", details); @@ -75,12 +77,14 @@ public class MongoAuditProvider implements AuditProvider { e.setError(o.getString("error")); BasicDBObject d = (BasicDBObject) o.get("details"); - Map details = new HashMap(); - for (Object k : d.keySet()) { - details.put((String) k, d.getString((String) k)); + if (d != null) { + Map details = new HashMap(); + for (Object k : d.keySet()) { + details.put((String) k, d.getString((String) k)); + } + e.setDetails(details); } - e.setDetails(details); return e; } diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml index 9aa9303770..d4ef0104a6 100755 --- a/testsuite/integration/pom.xml +++ b/testsuite/integration/pom.xml @@ -302,6 +302,11 @@ keycloak-model-mongo ${project.version} + + org.keycloak + keycloak-audit-mongo + ${project.version} + org.mongodb mongo-java-driver @@ -425,6 +430,12 @@ ${keycloak.mongo.host} ${keycloak.mongo.port} ${keycloak.mongo.db} + + mongo + ${keycloak.mongo.host} + ${keycloak.mongo.port} + ${keycloak.mongo.db} + ${keycloak.mongo.clearOnStartup}