Merge pull request #1692 from stianst/fix-json-includes-null
KEYCLOAK-1896 Search for users returns null values
This commit is contained in:
commit
9ccb0b1f65
15 changed files with 8 additions and 154 deletions
|
@ -1,66 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
<parent>
|
|
||||||
<artifactId>keycloak-parent</artifactId>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<version>1.6.0.Final-SNAPSHOT</version>
|
|
||||||
<relativePath>../pom.xml</relativePath>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
<name>Keycloak Core JAX-RS</name>
|
|
||||||
<description/>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.jboss.resteasy</groupId>
|
|
||||||
<artifactId>resteasy-jaxrs</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
|
||||||
<artifactId>jackson-core-asl</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.codehaus.jackson</groupId>
|
|
||||||
<artifactId>jackson-mapper-asl</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.jboss.resteasy</groupId>
|
|
||||||
<artifactId>resteasy-jackson-provider</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.jboss.spec.javax.servlet</groupId>
|
|
||||||
<artifactId>jboss-servlet-api_3.0_spec</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>junit</groupId>
|
|
||||||
<artifactId>junit</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<source>${maven.compiler.source}</source>
|
|
||||||
<target>${maven.compiler.target}</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
4
dependencies/server-min/pom.xml
vendored
4
dependencies/server-min/pom.xml
vendored
|
@ -31,10 +31,6 @@
|
||||||
<groupId>org.bouncycastle</groupId>
|
<groupId>org.bouncycastle</groupId>
|
||||||
<artifactId>bcpkix-jdk15on</artifactId>
|
<artifactId>bcpkix-jdk15on</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-services</artifactId>
|
<artifactId>keycloak-services</artifactId>
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<module xmlns="urn:jboss:module:1.3" name="org.keycloak.keycloak-core-jaxrs">
|
|
||||||
<resources>
|
|
||||||
<artifact name="${org.keycloak:keycloak-core-jaxrs}"/>
|
|
||||||
</resources>
|
|
||||||
<dependencies>
|
|
||||||
<module name="org.keycloak.keycloak-common"/>
|
|
||||||
<module name="org.keycloak.keycloak-core"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-core-asl"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-mapper-asl"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-xc"/>
|
|
||||||
<module name="javax.ws.rs.api"/>
|
|
||||||
<module name="org.bouncycastle" />
|
|
||||||
<module name="javax.api"/>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</module>
|
|
|
@ -11,7 +11,6 @@
|
||||||
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-common" services="import"/>
|
<module name="org.keycloak.keycloak-common" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core" services="import"/>
|
<module name="org.keycloak.keycloak-core" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core-jaxrs" services="import"/>
|
|
||||||
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-common" services="import"/>
|
<module name="org.keycloak.keycloak-common" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core" services="import"/>
|
<module name="org.keycloak.keycloak-core" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core-jaxrs" services="import"/>
|
|
||||||
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
||||||
|
|
|
@ -63,10 +63,6 @@
|
||||||
<maven-resource group="org.keycloak" artifact="keycloak-broker-saml"/>
|
<maven-resource group="org.keycloak" artifact="keycloak-broker-saml"/>
|
||||||
</module-def>
|
</module-def>
|
||||||
|
|
||||||
<module-def name="org.keycloak.keycloak-core-jaxrs">
|
|
||||||
<maven-resource group="org.keycloak" artifact="keycloak-core-jaxrs"/>
|
|
||||||
</module-def>
|
|
||||||
|
|
||||||
<module-def name="org.keycloak.keycloak-services">
|
<module-def name="org.keycloak.keycloak-services">
|
||||||
<maven-resource group="org.keycloak" artifact="keycloak-services"/>
|
<maven-resource group="org.keycloak" artifact="keycloak-services"/>
|
||||||
</module-def>
|
</module-def>
|
||||||
|
|
|
@ -30,10 +30,6 @@
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-core</artifactId>
|
<artifactId>keycloak-core</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-as7-server-subsystem</artifactId>
|
<artifactId>keycloak-as7-server-subsystem</artifactId>
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-common" services="import"/>
|
<module name="org.keycloak.keycloak-common" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core" services="import"/>
|
<module name="org.keycloak.keycloak-core" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core-jaxrs" services="import"/>
|
|
||||||
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<module xmlns="urn:jboss:module:1.1" name="org.keycloak.keycloak-core-jaxrs">
|
|
||||||
<resources>
|
|
||||||
<!-- Insert resources here -->
|
|
||||||
</resources>
|
|
||||||
<dependencies>
|
|
||||||
<module name="org.keycloak.keycloak-common"/>
|
|
||||||
<module name="org.keycloak.keycloak-core"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-core-asl"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-mapper-asl"/>
|
|
||||||
<module name="org.codehaus.jackson.jackson-xc"/>
|
|
||||||
<module name="javax.ws.rs.api"/>
|
|
||||||
<module name="org.bouncycastle" />
|
|
||||||
<module name="javax.api"/>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
</module>
|
|
|
@ -21,7 +21,6 @@
|
||||||
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
<module name="org.keycloak.keycloak-connections-file" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-common" services="import"/>
|
<module name="org.keycloak.keycloak-common" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core" services="import"/>
|
<module name="org.keycloak.keycloak-core" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-core-jaxrs" services="import"/>
|
|
||||||
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
<module name="org.keycloak.keycloak-email-api" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
<module name="org.keycloak.keycloak-email-freemarker" services="import"/>
|
||||||
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
<module name="org.keycloak.keycloak-events-api" services="import"/>
|
||||||
|
|
6
pom.xml
6
pom.xml
|
@ -136,7 +136,6 @@
|
||||||
<modules>
|
<modules>
|
||||||
<module>common</module>
|
<module>common</module>
|
||||||
<module>core</module>
|
<module>core</module>
|
||||||
<module>core-jaxrs</module>
|
|
||||||
<module>client-api</module>
|
<module>client-api</module>
|
||||||
<module>connections</module>
|
<module>connections</module>
|
||||||
<module>dependencies</module>
|
<module>dependencies</module>
|
||||||
|
@ -656,11 +655,6 @@
|
||||||
<artifactId>keycloak-client-api</artifactId>
|
<artifactId>keycloak-client-api</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-events-api</artifactId>
|
<artifactId>keycloak-events-api</artifactId>
|
||||||
|
|
|
@ -30,10 +30,6 @@
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-core</artifactId>
|
<artifactId>keycloak-core</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-connections-http-client</artifactId>
|
<artifactId>keycloak-connections-http-client</artifactId>
|
||||||
|
|
|
@ -6,12 +6,12 @@ import org.jboss.logging.Logger;
|
||||||
import org.jboss.resteasy.core.Dispatcher;
|
import org.jboss.resteasy.core.Dispatcher;
|
||||||
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
||||||
import org.keycloak.Config;
|
import org.keycloak.Config;
|
||||||
import org.keycloak.SkeletonKeyContextResolver;
|
|
||||||
import org.keycloak.exportimport.ExportImportManager;
|
import org.keycloak.exportimport.ExportImportManager;
|
||||||
import org.keycloak.migration.MigrationModelManager;
|
import org.keycloak.migration.MigrationModelManager;
|
||||||
import org.keycloak.models.KeycloakSession;
|
import org.keycloak.models.KeycloakSession;
|
||||||
import org.keycloak.models.KeycloakSessionFactory;
|
import org.keycloak.models.KeycloakSessionFactory;
|
||||||
import org.keycloak.models.RealmModel;
|
import org.keycloak.models.RealmModel;
|
||||||
|
import org.keycloak.offlineconfig.AdminRecovery;
|
||||||
import org.keycloak.representations.idm.RealmRepresentation;
|
import org.keycloak.representations.idm.RealmRepresentation;
|
||||||
import org.keycloak.services.DefaultKeycloakSessionFactory;
|
import org.keycloak.services.DefaultKeycloakSessionFactory;
|
||||||
import org.keycloak.services.managers.ApplianceBootstrap;
|
import org.keycloak.services.managers.ApplianceBootstrap;
|
||||||
|
@ -23,6 +23,7 @@ import org.keycloak.services.scheduled.ClearExpiredEvents;
|
||||||
import org.keycloak.services.scheduled.ClearExpiredUserSessions;
|
import org.keycloak.services.scheduled.ClearExpiredUserSessions;
|
||||||
import org.keycloak.services.scheduled.ScheduledTaskRunner;
|
import org.keycloak.services.scheduled.ScheduledTaskRunner;
|
||||||
import org.keycloak.services.util.JsonConfigProvider;
|
import org.keycloak.services.util.JsonConfigProvider;
|
||||||
|
import org.keycloak.services.util.ObjectMapperResolver;
|
||||||
import org.keycloak.timer.TimerProvider;
|
import org.keycloak.timer.TimerProvider;
|
||||||
import org.keycloak.util.JsonSerialization;
|
import org.keycloak.util.JsonSerialization;
|
||||||
import org.keycloak.util.SystemEnvProperties;
|
import org.keycloak.util.SystemEnvProperties;
|
||||||
|
@ -31,18 +32,13 @@ import javax.servlet.ServletContext;
|
||||||
import javax.ws.rs.core.Application;
|
import javax.ws.rs.core.Application;
|
||||||
import javax.ws.rs.core.Context;
|
import javax.ws.rs.core.Context;
|
||||||
import javax.ws.rs.core.UriInfo;
|
import javax.ws.rs.core.UriInfo;
|
||||||
import java.io.File;
|
import java.io.*;
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
import org.keycloak.offlineconfig.AdminRecovery;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
|
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
|
||||||
|
@ -77,12 +73,12 @@ public class KeycloakApplication extends Application {
|
||||||
singletons.add(new RealmsResource());
|
singletons.add(new RealmsResource());
|
||||||
singletons.add(new AdminRoot());
|
singletons.add(new AdminRoot());
|
||||||
singletons.add(new ModelExceptionMapper());
|
singletons.add(new ModelExceptionMapper());
|
||||||
classes.add(SkeletonKeyContextResolver.class);
|
|
||||||
classes.add(QRCodeResource.class);
|
classes.add(QRCodeResource.class);
|
||||||
classes.add(ThemeResource.class);
|
classes.add(ThemeResource.class);
|
||||||
classes.add(JsResource.class);
|
classes.add(JsResource.class);
|
||||||
classes.add(WelcomeResource.class);
|
classes.add(WelcomeResource.class);
|
||||||
|
|
||||||
|
singletons.add(new ObjectMapperResolver(Boolean.parseBoolean(System.getProperty("keycloak.jsonPrettyPrint", "false"))));
|
||||||
|
|
||||||
setupDefaultRealm(context.getContextPath());
|
setupDefaultRealm(context.getContextPath());
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.keycloak;
|
package org.keycloak.services.util;
|
||||||
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
import org.codehaus.jackson.map.ObjectMapper;
|
||||||
import org.codehaus.jackson.map.SerializationConfig;
|
import org.codehaus.jackson.map.SerializationConfig;
|
||||||
|
@ -14,24 +14,18 @@ import javax.ws.rs.ext.Provider;
|
||||||
* @version $Revision: 1 $
|
* @version $Revision: 1 $
|
||||||
*/
|
*/
|
||||||
@Provider
|
@Provider
|
||||||
public class SkeletonKeyContextResolver implements ContextResolver<ObjectMapper> {
|
public class ObjectMapperResolver implements ContextResolver<ObjectMapper> {
|
||||||
protected ObjectMapper mapper = new ObjectMapper();
|
protected ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
public SkeletonKeyContextResolver() {
|
public ObjectMapperResolver(boolean indent) {
|
||||||
mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
public SkeletonKeyContextResolver(boolean indent) {
|
|
||||||
mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
|
mapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);
|
||||||
if (indent) {
|
if (indent) {
|
||||||
mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT);
|
mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ObjectMapper getContext(Class<?> type) {
|
public ObjectMapper getContext(Class<?> type) {
|
||||||
if (type.getPackage() != null && type.getPackage().getName().startsWith(getClass().getPackage().getName())) return mapper;
|
return mapper;
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,10 +19,6 @@
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-core</artifactId>
|
<artifactId>keycloak-core</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core-jaxrs</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.keycloak</groupId>
|
<groupId>org.keycloak</groupId>
|
||||||
<artifactId>keycloak-services</artifactId>
|
<artifactId>keycloak-services</artifactId>
|
||||||
|
|
Loading…
Reference in a new issue