diff --git a/authz/policy/common/pom.xml b/authz/policy/common/pom.xml index 6149e3a13f..31df304798 100644 --- a/authz/policy/common/pom.xml +++ b/authz/policy/common/pom.xml @@ -46,6 +46,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + \ No newline at end of file diff --git a/authz/policy/drools/pom.xml b/authz/policy/drools/pom.xml index 7dc1b4520e..1594329213 100644 --- a/authz/policy/drools/pom.xml +++ b/authz/policy/drools/pom.xml @@ -23,6 +23,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.keycloak keycloak-services diff --git a/dependencies/server-min/pom.xml b/dependencies/server-min/pom.xml index 6beae8485e..1c17f64123 100755 --- a/dependencies/server-min/pom.xml +++ b/dependencies/server-min/pom.xml @@ -59,6 +59,10 @@ org.keycloak keycloak-server-spi + + + org.keycloak + keycloak-server-spi-private org.keycloak diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/drools/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/drools/main/module.xml index 09d947967a..4c5af2f8c2 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/drools/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/drools/main/module.xml @@ -31,6 +31,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/eclipse/jdt/core/compiler/ecj/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/eclipse/jdt/core/compiler/ecj/main/module.xml index 8440c1df1b..849fc353f5 100644 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/eclipse/jdt/core/compiler/ecj/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/eclipse/jdt/core/compiler/ecj/main/module.xml @@ -31,6 +31,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-common/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-common/main/module.xml index 422c683ea5..a8ab099035 100644 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-common/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-common/main/module.xml @@ -29,6 +29,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-drools/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-drools/main/module.xml index cf36e0a656..60dc78a87b 100644 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-drools/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-authz-policy-drools/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-common/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-common/main/module.xml index 4a3d370c8c..7b024b19e7 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-common/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-common/main/module.xml @@ -16,10 +16,6 @@ ~ limitations under the License. --> - - - - diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-core/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-core/main/module.xml index 1afc30d5b6..659a055f5c 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-core/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-core/main/module.xml @@ -16,10 +16,6 @@ ~ limitations under the License. --> - - - - diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-kerberos-federation/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-kerberos-federation/main/module.xml index d0b9730e2e..ebb263c714 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-kerberos-federation/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-kerberos-federation/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml index 43a1d64c09..dcca1bfd2e 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-ldap-federation/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-infinispan/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-infinispan/main/module.xml index 91f423a4a4..a80a008a32 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-infinispan/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-infinispan/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-jpa/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-jpa/main/module.xml index 94c80a2a96..88cae4fee5 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-jpa/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-jpa/main/module.xml @@ -29,6 +29,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-mongo/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-mongo/main/module.xml index 20cff7cf67..3bd99ae466 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-mongo/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-model-mongo/main/module.xml @@ -29,6 +29,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi-private/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi-private/main/module.xml new file mode 100755 index 0000000000..0f136fde63 --- /dev/null +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi-private/main/module.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi/main/module.xml index 8b5632e30a..daed0af506 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-server-spi/main/module.xml @@ -16,10 +16,6 @@ ~ limitations under the License. --> - - - - diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-services/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-services/main/module.xml index 4f351fd7c0..9db480c9d0 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-services/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-services/main/module.xml @@ -32,6 +32,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-sssd-federation/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-sssd-federation/main/module.xml index ad16f3c4dd..58939eb49c 100644 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-sssd-federation/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-sssd-federation/main/module.xml @@ -28,5 +28,6 @@ + \ No newline at end of file diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-adduser/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-adduser/main/module.xml index 4ee5c508c0..178470b42c 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-adduser/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-adduser/main/module.xml @@ -30,6 +30,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-extensions/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-extensions/main/module.xml index d785cb7fe3..89aa901572 100755 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-extensions/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/keycloak/keycloak-wildfly-extensions/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/kie/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/kie/main/module.xml index 242b508ba9..9b41daaf16 100644 --- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/kie/main/module.xml +++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/keycloak/org/kie/main/module.xml @@ -32,11 +32,13 @@ + + diff --git a/examples/providers/authenticator/pom.xml b/examples/providers/authenticator/pom.xml index 4e24bf3ad7..0992966067 100755 --- a/examples/providers/authenticator/pom.xml +++ b/examples/providers/authenticator/pom.xml @@ -41,6 +41,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.logging jboss-logging diff --git a/examples/providers/domain-extension/README.md b/examples/providers/domain-extension/README.md index 9ec5e63e9a..465551b2f5 100644 --- a/examples/providers/domain-extension/README.md +++ b/examples/providers/domain-extension/README.md @@ -3,7 +3,7 @@ Example Domain Extension To run, deploy as a module by running: - $KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.domain-extension-example --resources=target/domain-extension-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-services,org.keycloak.keycloak-model-jpa,org.keycloak.keycloak-server-spi,javax.ws.rs.api,javax.persistence.api,org.hibernate,org.javassist,org.liquibase" + $KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.domain-extension-example --resources=target/domain-extension-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-services,org.keycloak.keycloak-model-jpa,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,javax.ws.rs.api,javax.persistence.api,org.hibernate,org.javassist,org.liquibase" Then registering the provider by editing `standalone/configuration/standalone.xml` and adding the module to the providers element: diff --git a/examples/providers/domain-extension/pom.xml b/examples/providers/domain-extension/pom.xml index 43e5cf7917..d31ccbfba4 100755 --- a/examples/providers/domain-extension/pom.xml +++ b/examples/providers/domain-extension/pom.xml @@ -46,6 +46,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.keycloak keycloak-model-jpa diff --git a/examples/providers/event-listener-sysout/README.md b/examples/providers/event-listener-sysout/README.md index 8e1a0850ad..5540d9b25c 100644 --- a/examples/providers/event-listener-sysout/README.md +++ b/examples/providers/event-listener-sysout/README.md @@ -3,7 +3,7 @@ Example Event Listener that prints events to System.out To deploy copy target/event-listener-sysout-example.jar to providers directory. Alternatively you can deploy as a module by running: - KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.event-sysout --resources=target/event-listener-sysout-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi" + KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.event-sysout --resources=target/event-listener-sysout-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private" Then registering the provider by editing `standalone/configuration/standalone.xml` and adding the module to the providers element: diff --git a/examples/providers/event-listener-sysout/pom.xml b/examples/providers/event-listener-sysout/pom.xml index 83f348b63e..3d61dfd965 100755 --- a/examples/providers/event-listener-sysout/pom.xml +++ b/examples/providers/event-listener-sysout/pom.xml @@ -40,6 +40,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + diff --git a/examples/providers/event-store-mem/README.md b/examples/providers/event-store-mem/README.md index 682ff42b78..2c55109190 100644 --- a/examples/providers/event-store-mem/README.md +++ b/examples/providers/event-store-mem/README.md @@ -3,7 +3,7 @@ Example Event Store that stores events in memory To deploy copy target/event-store-mem-example.jar to providers directory. Alternatively you can deploy as a module by running: - KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.event-inmem --resources=target/event-store-mem-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi" + KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.event-inmem --resources=target/event-store-mem-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private" Then registering the provider by editing `standalone/configuration/standalone.xml` and adding the module to the providers element: diff --git a/examples/providers/event-store-mem/pom.xml b/examples/providers/event-store-mem/pom.xml index 16db181874..2e48c2dc28 100755 --- a/examples/providers/event-store-mem/pom.xml +++ b/examples/providers/event-store-mem/pom.xml @@ -40,6 +40,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + diff --git a/examples/providers/federation-provider/README.md b/examples/providers/federation-provider/README.md index c90e791547..ae02fc85c4 100755 --- a/examples/providers/federation-provider/README.md +++ b/examples/providers/federation-provider/README.md @@ -4,7 +4,7 @@ Example User Federation Provider This is an example of user federation backed by a simple properties file. This properties file only contains username/password key pairs. To deploy, build this directory then take the jar and copy it to providers directory. Alternatively you can deploy as a module by running: - KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.userprops --resources=target/federation-properties-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi" + KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.userprops --resources=target/federation-properties-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private" Then registering the provider by editing `standalone/configuration/standalone.xml` and adding the module to the providers element: diff --git a/examples/providers/federation-provider/pom.xml b/examples/providers/federation-provider/pom.xml index bd4e1c8a32..be02cc7057 100755 --- a/examples/providers/federation-provider/pom.xml +++ b/examples/providers/federation-provider/pom.xml @@ -41,6 +41,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.logging jboss-logging diff --git a/examples/providers/rest/README.md b/examples/providers/rest/README.md index 5ee9327132..d78e9bc958 100644 --- a/examples/providers/rest/README.md +++ b/examples/providers/rest/README.md @@ -3,7 +3,7 @@ Example Realm REST Resource provider To deploy copy target/hello-rest-example.jar to providers directory. Alternatively you can deploy as a module by running: - $KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.hello-rest-example --resources=target/hello-rest-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,javax.ws.rs.api" + $KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.hello-rest-example --resources=target/hello-rest-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,javax.ws.rs.api" Then registering the provider by editing `standalone/configuration/standalone.xml` and adding the module to the providers element: diff --git a/examples/providers/rest/pom.xml b/examples/providers/rest/pom.xml index 416acfcf24..b94cf435ec 100755 --- a/examples/providers/rest/pom.xml +++ b/examples/providers/rest/pom.xml @@ -41,6 +41,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.spec.javax.ws.rs jboss-jaxrs-api_2.0_spec diff --git a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProvider.java b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProvider.java index 837f2b6555..86b2a30ef3 100644 --- a/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProvider.java +++ b/examples/providers/user-storage-jpa/src/main/java/org/keycloak/examples/storage/user/EjbExampleUserStorageProvider.java @@ -30,7 +30,6 @@ import org.keycloak.models.UserCredentialModel; import org.keycloak.models.UserModel; import org.keycloak.models.cache.CachedUserModel; import org.keycloak.models.cache.OnUserCache; -import org.keycloak.models.utils.KeycloakModelUtils; import org.keycloak.storage.StorageId; import org.keycloak.storage.UserStorageProvider; import org.keycloak.storage.user.UserLookupProvider; @@ -49,6 +48,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.UUID; /** * @author Bill Burke @@ -139,7 +139,7 @@ public class EjbExampleUserStorageProvider implements UserStorageProvider, @Override public UserModel addUser(RealmModel realm, String username) { UserEntity entity = new UserEntity(); - entity.setId(KeycloakModelUtils.generateId()); + entity.setId(UUID.randomUUID().toString()); entity.setUsername(username); em.persist(entity); logger.info("added user: " + username); diff --git a/federation/kerberos/pom.xml b/federation/kerberos/pom.xml index 75d3ab4e22..da453d63e5 100755 --- a/federation/kerberos/pom.xml +++ b/federation/kerberos/pom.xml @@ -40,6 +40,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.logging jboss-logging diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java index d656a0dbd6..b5f470935b 100755 --- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java +++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProvider.java @@ -33,7 +33,7 @@ import org.keycloak.models.UserCredentialModel; import org.keycloak.models.UserFederationProvider; import org.keycloak.models.UserFederationProviderModel; import org.keycloak.models.UserModel; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import java.util.Collections; import java.util.HashMap; diff --git a/federation/ldap/pom.xml b/federation/ldap/pom.xml index 4187ef6b29..38fa19d3dd 100755 --- a/federation/ldap/pom.xml +++ b/federation/ldap/pom.xml @@ -40,6 +40,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.keycloak keycloak-kerberos-federation diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java index 880f0f70e2..67cfb45fe7 100755 --- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java +++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/LDAPFederationProvider.java @@ -47,7 +47,7 @@ import org.keycloak.models.UserFederationMapperModel; import org.keycloak.models.UserFederationProvider; import org.keycloak.models.UserFederationProviderModel; import org.keycloak.models.UserModel; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import javax.naming.AuthenticationException; import java.util.ArrayList; diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java index 460ab62ced..d135dfa017 100644 --- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java +++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/group/GroupLDAPFederationMapper.java @@ -38,6 +38,7 @@ import org.keycloak.models.UserFederationMapperModel; import org.keycloak.models.UserFederationSyncResult; import org.keycloak.models.UserModel; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import org.keycloak.models.utils.UserModelDelegate; import java.util.Collection; @@ -563,7 +564,7 @@ public class GroupLDAPFederationMapper extends AbstractLDAPFederationMapper impl @Override public boolean hasRole(RoleModel role) { - return super.hasRole(role) || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return super.hasRole(role) || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override diff --git a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java index 9d6e2a1282..b45f348fab 100644 --- a/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java +++ b/federation/ldap/src/main/java/org/keycloak/federation/ldap/mappers/membership/role/RoleLDAPFederationMapper.java @@ -38,6 +38,7 @@ import org.keycloak.models.UserFederationMapperModel; import org.keycloak.models.UserFederationSyncResult; import org.keycloak.models.UserModel; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import org.keycloak.models.utils.UserModelDelegate; import java.util.Collection; @@ -348,8 +349,8 @@ public class RoleLDAPFederationMapper extends AbstractLDAPFederationMapper imple @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role) - || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRole(roles, role) + || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override diff --git a/federation/sssd/pom.xml b/federation/sssd/pom.xml index 8430e7cb17..29113f7c8e 100644 --- a/federation/sssd/pom.xml +++ b/federation/sssd/pom.xml @@ -60,6 +60,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.logging jboss-logging diff --git a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java index 2820947720..44662deaa9 100755 --- a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java +++ b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProvider.java @@ -34,7 +34,7 @@ import org.keycloak.models.UserFederationProvider; import org.keycloak.models.UserFederationProviderModel; import org.keycloak.models.UserModel; import org.keycloak.models.utils.KeycloakModelUtils; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import java.util.Collections; import java.util.HashSet; diff --git a/model/infinispan/pom.xml b/model/infinispan/pom.xml index 08aef53142..f10fa60751 100755 --- a/model/infinispan/pom.xml +++ b/model/infinispan/pom.xml @@ -38,6 +38,10 @@ org.keycloak keycloak-server-spi + + + org.keycloak + keycloak-server-spi-private provided diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java index 6030a66e8e..1a52aa9f94 100755 --- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java +++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/UserAdapter.java @@ -27,6 +27,7 @@ import org.keycloak.models.UserModel; import org.keycloak.models.cache.CachedUserModel; import org.keycloak.models.cache.infinispan.entities.CachedUser; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import java.util.Collections; import java.util.HashSet; @@ -301,7 +302,7 @@ public class UserAdapter implements CachedUserModel { for (RoleModel mapping: mappings) { if (mapping.hasRole(role)) return true; } - return KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override @@ -368,7 +369,7 @@ public class UserAdapter implements CachedUserModel { if (updated != null) return updated.isMemberOf(group); if (cached.getGroups().contains(group.getId())) return true; Set roles = getGroups(); - return KeycloakModelUtils.isMember(roles, group); + return RoleUtils.isMember(roles, group); } @Override diff --git a/model/infinispan/src/test/java/org/keycloak/models/keys/infinispan/InfinispanKeyStorageProviderTest.java b/model/infinispan/src/test/java/org/keycloak/keys/infinispan/InfinispanKeyStorageProviderTest.java similarity index 97% rename from model/infinispan/src/test/java/org/keycloak/models/keys/infinispan/InfinispanKeyStorageProviderTest.java rename to model/infinispan/src/test/java/org/keycloak/keys/infinispan/InfinispanKeyStorageProviderTest.java index 5a15dc3d0d..e5dd1c1f56 100644 --- a/model/infinispan/src/test/java/org/keycloak/models/keys/infinispan/InfinispanKeyStorageProviderTest.java +++ b/model/infinispan/src/test/java/org/keycloak/keys/infinispan/InfinispanKeyStorageProviderTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.keycloak.models.keys.infinispan; +package org.keycloak.keys.infinispan; import java.security.PublicKey; import java.util.Collections; @@ -40,8 +40,6 @@ import org.junit.Test; import org.keycloak.common.util.Time; import org.keycloak.connections.infinispan.InfinispanConnectionProvider; import org.keycloak.keys.PublicKeyLoader; -import org.keycloak.keys.infinispan.InfinispanPublicKeyStorageProvider; -import org.keycloak.keys.infinispan.PublicKeysEntry; /** * @author Marek Posolda diff --git a/model/jpa/pom.xml b/model/jpa/pom.xml index 13f3ae0a98..0b2ae4dee7 100755 --- a/model/jpa/pom.xml +++ b/model/jpa/pom.xml @@ -48,6 +48,10 @@ org.keycloak keycloak-server-spi + + org.keycloak + keycloak-server-spi-private + org.keycloak keycloak-services diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/GroupAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/GroupAdapter.java index 6ea87c5587..3dc7bcc57c 100755 --- a/model/jpa/src/main/java/org/keycloak/models/jpa/GroupAdapter.java +++ b/model/jpa/src/main/java/org/keycloak/models/jpa/GroupAdapter.java @@ -27,6 +27,7 @@ import org.keycloak.models.jpa.entities.GroupAttributeEntity; import org.keycloak.models.jpa.entities.GroupEntity; import org.keycloak.models.jpa.entities.GroupRoleMappingEntity; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; @@ -228,7 +229,7 @@ public class GroupAdapter implements GroupModel , JpaModel { @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role); + return RoleUtils.hasRole(roles, role); } protected TypedQuery getGroupRoleMappingEntityTypedQuery(RoleModel role) { diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java index 5ee5490282..a95548bfe1 100755 --- a/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java +++ b/model/jpa/src/main/java/org/keycloak/models/jpa/UserAdapter.java @@ -31,6 +31,7 @@ import org.keycloak.models.jpa.entities.UserGroupMembershipEntity; import org.keycloak.models.jpa.entities.UserRequiredActionEntity; import org.keycloak.models.jpa.entities.UserRoleMappingEntity; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import javax.persistence.EntityManager; import javax.persistence.Query; @@ -338,7 +339,7 @@ public class UserAdapter implements UserModel, JpaModel { @Override public boolean isMemberOf(GroupModel group) { Set roles = getGroups(); - return KeycloakModelUtils.isMember(roles, group); + return RoleUtils.isMember(roles, group); } protected TypedQuery getUserGroupMappingQuery(GroupModel group) { @@ -352,8 +353,8 @@ public class UserAdapter implements UserModel, JpaModel { @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role) - || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRole(roles, role) + || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } protected TypedQuery getUserRoleMappingEntityTypedQuery(RoleModel role) { diff --git a/model/mongo/pom.xml b/model/mongo/pom.xml index d31fa69aae..054d320383 100755 --- a/model/mongo/pom.xml +++ b/model/mongo/pom.xml @@ -50,6 +50,10 @@ org.keycloak keycloak-server-spi + + + org.keycloak + keycloak-server-spi-private provided diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/GroupAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/GroupAdapter.java index 724dd69a06..d4ad3afbc8 100755 --- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/GroupAdapter.java +++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/GroupAdapter.java @@ -28,6 +28,7 @@ import org.keycloak.models.RealmModel; import org.keycloak.models.RoleModel; import org.keycloak.models.mongo.keycloak.entities.MongoGroupEntity; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import java.util.ArrayList; import java.util.Collections; @@ -146,7 +147,7 @@ public class GroupAdapter extends AbstractMongoAdapter impleme @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role); + return RoleUtils.hasRole(roles, role); } @Override diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java index 972f4409b7..9d5ad7c6f2 100755 --- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java +++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/UserAdapter.java @@ -27,6 +27,7 @@ import org.keycloak.models.UserModel; import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity; import org.keycloak.models.mongo.utils.MongoModelUtils; import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import java.util.ArrayList; import java.util.Collections; @@ -262,14 +263,14 @@ public class UserAdapter extends AbstractMongoAdapter implement public boolean isMemberOf(GroupModel group) { if (user.getGroupIds().contains(group.getId())) return true; Set groups = getGroups(); - return KeycloakModelUtils.isMember(groups, group); + return RoleUtils.isMember(groups, group); } @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role) - || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRole(roles, role) + || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override diff --git a/pom.xml b/pom.xml index 8a61e5b0b4..7918c6dade 100755 --- a/pom.xml +++ b/pom.xml @@ -120,7 +120,7 @@ 2.3.7 1.0.1.Final 1.6.5 - + -Xms512m -Xmx2048m -XX:MetaspaceSize=96m -XX:MaxMetaspaceSize=256m @@ -175,6 +175,7 @@ core dependencies server-spi + server-spi-private saml-core-api saml-core proxy @@ -938,6 +939,11 @@ keycloak-server-spi ${project.version} + + org.keycloak + keycloak-server-spi-private + ${project.version} + org.keycloak keycloak-model-jpa @@ -1483,7 +1489,7 @@ - + nexus-staging diff --git a/server-spi-private/pom.xml b/server-spi-private/pom.xml new file mode 100755 index 0000000000..a1d3df23ff --- /dev/null +++ b/server-spi-private/pom.xml @@ -0,0 +1,98 @@ + + + + + + keycloak-parent + org.keycloak + 2.4.0.CR1-SNAPSHOT + ../pom.xml + + 4.0.0 + + keycloak-server-spi-private + Keycloak Server Private SPI + + + + 1.8 + 1.8 + + + + + org.keycloak + keycloak-server-spi + provided + + + org.jboss.spec.javax.transaction + jboss-transaction-api_1.2_spec + provided + + + org.jboss.resteasy + resteasy-jaxrs + provided + + + org.bouncycastle + bcprov-jdk15on + provided + + + org.bouncycastle + bcpkix-jdk15on + provided + + + org.keycloak + keycloak-core + provided + + + org.jboss.logging + jboss-logging + provided + + + org.apache.httpcomponents + httpclient + provided + + + junit + junit + test + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + diff --git a/server-spi/src/main/java/org/keycloak/ServerStartupError.java b/server-spi-private/src/main/java/org/keycloak/ServerStartupError.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/ServerStartupError.java rename to server-spi-private/src/main/java/org/keycloak/ServerStartupError.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AbstractAuthenticationFlowContext.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlow.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlow.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlow.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlow.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowContext.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowError.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowError.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowError.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowError.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowException.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticationFlowException.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticationFlowException.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/Authenticator.java b/server-spi-private/src/main/java/org/keycloak/authentication/Authenticator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/Authenticator.java rename to server-spi-private/src/main/java/org/keycloak/authentication/Authenticator.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticatorFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticatorFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticatorFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticatorFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/AuthenticatorSpi.java b/server-spi-private/src/main/java/org/keycloak/authentication/AuthenticatorSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/AuthenticatorSpi.java rename to server-spi-private/src/main/java/org/keycloak/authentication/AuthenticatorSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticationFlowContext.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticator.java b/server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticator.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticator.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticatorFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorSpi.java b/server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticatorSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ClientAuthenticatorSpi.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ClientAuthenticatorSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ConfigurableAuthenticatorFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/ConfigurableAuthenticatorFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ConfigurableAuthenticatorFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ConfigurableAuthenticatorFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FlowStatus.java b/server-spi-private/src/main/java/org/keycloak/authentication/FlowStatus.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FlowStatus.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FlowStatus.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ForkFlowException.java b/server-spi-private/src/main/java/org/keycloak/authentication/ForkFlowException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ForkFlowException.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ForkFlowException.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormAction.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormAction.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormAction.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormAction.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormActionFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormActionFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormActionFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormActionFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormActionSpi.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormActionSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormActionSpi.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormActionSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormAuthenticator.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormAuthenticator.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticator.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormAuthenticatorFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticatorFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormAuthenticatorFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticatorFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormAuthenticatorSpi.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticatorSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormAuthenticatorSpi.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormAuthenticatorSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/FormContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/FormContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/FormContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/FormContext.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/RequiredActionContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/RequiredActionContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionContext.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/RequiredActionFactory.java b/server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/RequiredActionFactory.java rename to server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/RequiredActionProvider.java b/server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/RequiredActionProvider.java rename to server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionProvider.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/RequiredActionSpi.java b/server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/RequiredActionSpi.java rename to server-spi-private/src/main/java/org/keycloak/authentication/RequiredActionSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authentication/ValidationContext.java b/server-spi-private/src/main/java/org/keycloak/authentication/ValidationContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authentication/ValidationContext.java rename to server-spi-private/src/main/java/org/keycloak/authentication/ValidationContext.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/AuthorizationProvider.java b/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/AuthorizationProvider.java rename to server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProvider.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/AuthorizationProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/AuthorizationProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/AuthorizationSpi.java b/server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/AuthorizationSpi.java rename to server-spi-private/src/main/java/org/keycloak/authorization/AuthorizationSpi.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/Decision.java b/server-spi-private/src/main/java/org/keycloak/authorization/Decision.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/Decision.java rename to server-spi-private/src/main/java/org/keycloak/authorization/Decision.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java b/server-spi-private/src/main/java/org/keycloak/authorization/attribute/Attributes.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/attribute/Attributes.java rename to server-spi-private/src/main/java/org/keycloak/authorization/attribute/Attributes.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/attribute/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/attribute/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/attribute/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/attribute/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java b/server-spi-private/src/main/java/org/keycloak/authorization/identity/Identity.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/identity/Identity.java rename to server-spi-private/src/main/java/org/keycloak/authorization/identity/Identity.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/identity/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/identity/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/identity/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/identity/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/model/Policy.java b/server-spi-private/src/main/java/org/keycloak/authorization/model/Policy.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/model/Policy.java rename to server-spi-private/src/main/java/org/keycloak/authorization/model/Policy.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/model/Resource.java b/server-spi-private/src/main/java/org/keycloak/authorization/model/Resource.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/model/Resource.java rename to server-spi-private/src/main/java/org/keycloak/authorization/model/Resource.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/model/ResourceServer.java b/server-spi-private/src/main/java/org/keycloak/authorization/model/ResourceServer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/model/ResourceServer.java rename to server-spi-private/src/main/java/org/keycloak/authorization/model/ResourceServer.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/model/Scope.java b/server-spi-private/src/main/java/org/keycloak/authorization/model/Scope.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/model/Scope.java rename to server-spi-private/src/main/java/org/keycloak/authorization/model/Scope.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/model/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/model/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/model/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/model/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/permission/ResourcePermission.java b/server-spi-private/src/main/java/org/keycloak/authorization/permission/ResourcePermission.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/permission/ResourcePermission.java rename to server-spi-private/src/main/java/org/keycloak/authorization/permission/ResourcePermission.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/Evaluators.java b/server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/Evaluators.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/Evaluators.java rename to server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/Evaluators.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/IterablePermissionEvaluator.java b/server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/IterablePermissionEvaluator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/IterablePermissionEvaluator.java rename to server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/IterablePermissionEvaluator.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/PermissionEvaluator.java b/server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/PermissionEvaluator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/PermissionEvaluator.java rename to server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/PermissionEvaluator.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/ScheduledPermissionEvaluator.java b/server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/ScheduledPermissionEvaluator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/permission/evaluator/ScheduledPermissionEvaluator.java rename to server-spi-private/src/main/java/org/keycloak/authorization/permission/evaluator/ScheduledPermissionEvaluator.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DecisionResultCollector.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DecisionResultCollector.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DecisionResultCollector.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DecisionResultCollector.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultEvaluation.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultEvaluation.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultEvaluation.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultEvaluation.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/DefaultPolicyEvaluator.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/Evaluation.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Evaluation.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/Evaluation.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Evaluation.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/EvaluationContext.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/EvaluationContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/EvaluationContext.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/EvaluationContext.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/PolicyEvaluator.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/PolicyEvaluator.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/PolicyEvaluator.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/PolicyEvaluator.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/evaluation/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderAdminService.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderAdminService.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderAdminService.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderAdminService.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicySpi.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicySpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/provider/PolicySpi.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/PolicySpi.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/policy/provider/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/policy/provider/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/policy/provider/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/AuthorizationStoreFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/PolicyStore.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/PolicyStore.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/PolicyStore.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/PolicyStore.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/ResourceServerStore.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/ResourceServerStore.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/ResourceServerStore.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/ResourceServerStore.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/ResourceStore.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/ResourceStore.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/ResourceStore.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/ResourceStore.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/ScopeStore.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/ScopeStore.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/ScopeStore.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/ScopeStore.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/StoreFactory.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/StoreFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/StoreFactory.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/StoreFactory.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/StoreFactorySpi.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/StoreFactorySpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/StoreFactorySpi.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/StoreFactorySpi.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/package-info.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/package-info.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/package-info.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/package-info.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/ClientApplicationSynchronizer.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/RealmSynchronizer.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/RealmSynchronizer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/syncronization/RealmSynchronizer.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/RealmSynchronizer.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/Synchronizer.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/Synchronizer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/syncronization/Synchronizer.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/Synchronizer.java diff --git a/server-spi/src/main/java/org/keycloak/authorization/store/syncronization/UserSynchronizer.java b/server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/UserSynchronizer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/authorization/store/syncronization/UserSynchronizer.java rename to server-spi-private/src/main/java/org/keycloak/authorization/store/syncronization/UserSynchronizer.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProvider.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProvider.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProvider.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderMapper.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderMapper.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderMapper.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/AbstractIdentityProviderMapper.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/AuthenticationRequest.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/AuthenticationRequest.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/AuthenticationRequest.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/AuthenticationRequest.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/BrokeredIdentityContext.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/BrokeredIdentityContext.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/BrokeredIdentityContext.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/BrokeredIdentityContext.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/ConfigConstants.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/ConfigConstants.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/ConfigConstants.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/ConfigConstants.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/DefaultDataMarshaller.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityBrokerException.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityBrokerException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityBrokerException.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityBrokerException.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProvider.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProvider.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProvider.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderDataMarshaller.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderDataMarshaller.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderDataMarshaller.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderDataMarshaller.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderMapper.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderMapper.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderMapper.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderMapper.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderMapperSpi.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderMapperSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderMapperSpi.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderMapperSpi.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderSpi.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/IdentityProviderSpi.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/IdentityProviderSpi.java diff --git a/server-spi/src/main/java/org/keycloak/broker/provider/util/SimpleHttp.java b/server-spi-private/src/main/java/org/keycloak/broker/provider/util/SimpleHttp.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/provider/util/SimpleHttp.java rename to server-spi-private/src/main/java/org/keycloak/broker/provider/util/SimpleHttp.java diff --git a/server-spi/src/main/java/org/keycloak/broker/social/SocialIdentityProvider.java b/server-spi-private/src/main/java/org/keycloak/broker/social/SocialIdentityProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/social/SocialIdentityProvider.java rename to server-spi-private/src/main/java/org/keycloak/broker/social/SocialIdentityProvider.java diff --git a/server-spi/src/main/java/org/keycloak/broker/social/SocialIdentityProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/broker/social/SocialIdentityProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/social/SocialIdentityProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/broker/social/SocialIdentityProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/broker/social/SocialProviderSpi.java b/server-spi-private/src/main/java/org/keycloak/broker/social/SocialProviderSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/broker/social/SocialProviderSpi.java rename to server-spi-private/src/main/java/org/keycloak/broker/social/SocialProviderSpi.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterEvent.java b/server-spi-private/src/main/java/org/keycloak/cluster/ClusterEvent.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ClusterEvent.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ClusterEvent.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterListener.java b/server-spi-private/src/main/java/org/keycloak/cluster/ClusterListener.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ClusterListener.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ClusterListener.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java b/server-spi-private/src/main/java/org/keycloak/cluster/ClusterProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ClusterProvider.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ClusterProvider.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/cluster/ClusterProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ClusterProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ClusterProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ClusterSpi.java b/server-spi-private/src/main/java/org/keycloak/cluster/ClusterSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ClusterSpi.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ClusterSpi.java diff --git a/server-spi/src/main/java/org/keycloak/cluster/ExecutionResult.java b/server-spi-private/src/main/java/org/keycloak/cluster/ExecutionResult.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/cluster/ExecutionResult.java rename to server-spi-private/src/main/java/org/keycloak/cluster/ExecutionResult.java diff --git a/server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientFactory.java b/server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientFactory.java rename to server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientFactory.java diff --git a/server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientProvider.java b/server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientProvider.java rename to server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientProvider.java diff --git a/server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientSpi.java b/server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/connections/httpclient/HttpClientSpi.java rename to server-spi-private/src/main/java/org/keycloak/connections/httpclient/HttpClientSpi.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailException.java b/server-spi-private/src/main/java/org/keycloak/email/EmailException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailException.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailException.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailSenderProvider.java b/server-spi-private/src/main/java/org/keycloak/email/EmailSenderProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailSenderProvider.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailSenderProvider.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailSenderProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/email/EmailSenderProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailSenderProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailSenderProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailSenderSpi.java b/server-spi-private/src/main/java/org/keycloak/email/EmailSenderSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailSenderSpi.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailSenderSpi.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailTemplateProvider.java b/server-spi-private/src/main/java/org/keycloak/email/EmailTemplateProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailTemplateProvider.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailTemplateProvider.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailTemplateProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/email/EmailTemplateProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailTemplateProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailTemplateProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/email/EmailTemplateSpi.java b/server-spi-private/src/main/java/org/keycloak/email/EmailTemplateSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/email/EmailTemplateSpi.java rename to server-spi-private/src/main/java/org/keycloak/email/EmailTemplateSpi.java diff --git a/server-spi/src/main/java/org/keycloak/events/Details.java b/server-spi-private/src/main/java/org/keycloak/events/Details.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/Details.java rename to server-spi-private/src/main/java/org/keycloak/events/Details.java diff --git a/server-spi/src/main/java/org/keycloak/events/Errors.java b/server-spi-private/src/main/java/org/keycloak/events/Errors.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/Errors.java rename to server-spi-private/src/main/java/org/keycloak/events/Errors.java diff --git a/server-spi/src/main/java/org/keycloak/events/Event.java b/server-spi-private/src/main/java/org/keycloak/events/Event.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/Event.java rename to server-spi-private/src/main/java/org/keycloak/events/Event.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventBuilder.java b/server-spi-private/src/main/java/org/keycloak/events/EventBuilder.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventBuilder.java rename to server-spi-private/src/main/java/org/keycloak/events/EventBuilder.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventListenerProvider.java b/server-spi-private/src/main/java/org/keycloak/events/EventListenerProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventListenerProvider.java rename to server-spi-private/src/main/java/org/keycloak/events/EventListenerProvider.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventListenerProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/events/EventListenerProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventListenerProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/events/EventListenerProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventListenerSpi.java b/server-spi-private/src/main/java/org/keycloak/events/EventListenerSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventListenerSpi.java rename to server-spi-private/src/main/java/org/keycloak/events/EventListenerSpi.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventQuery.java b/server-spi-private/src/main/java/org/keycloak/events/EventQuery.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventQuery.java rename to server-spi-private/src/main/java/org/keycloak/events/EventQuery.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventStoreProvider.java b/server-spi-private/src/main/java/org/keycloak/events/EventStoreProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventStoreProvider.java rename to server-spi-private/src/main/java/org/keycloak/events/EventStoreProvider.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventStoreProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/events/EventStoreProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventStoreProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/events/EventStoreProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventStoreSpi.java b/server-spi-private/src/main/java/org/keycloak/events/EventStoreSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventStoreSpi.java rename to server-spi-private/src/main/java/org/keycloak/events/EventStoreSpi.java diff --git a/server-spi/src/main/java/org/keycloak/events/EventType.java b/server-spi-private/src/main/java/org/keycloak/events/EventType.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/EventType.java rename to server-spi-private/src/main/java/org/keycloak/events/EventType.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/AdminEvent.java b/server-spi-private/src/main/java/org/keycloak/events/admin/AdminEvent.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/AdminEvent.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/AdminEvent.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/AdminEventQuery.java b/server-spi-private/src/main/java/org/keycloak/events/admin/AdminEventQuery.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/AdminEventQuery.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/AdminEventQuery.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/AuthDetails.java b/server-spi-private/src/main/java/org/keycloak/events/admin/AuthDetails.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/AuthDetails.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/AuthDetails.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/AuthQuery.java b/server-spi-private/src/main/java/org/keycloak/events/admin/AuthQuery.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/AuthQuery.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/AuthQuery.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/OperationType.java b/server-spi-private/src/main/java/org/keycloak/events/admin/OperationType.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/OperationType.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/OperationType.java diff --git a/server-spi/src/main/java/org/keycloak/events/admin/ResourceType.java b/server-spi-private/src/main/java/org/keycloak/events/admin/ResourceType.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/events/admin/ResourceType.java rename to server-spi-private/src/main/java/org/keycloak/events/admin/ResourceType.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ExportProvider.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ExportProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ExportProvider.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ExportProvider.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ExportProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ExportProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ExportProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ExportProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ExportSpi.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ExportSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ExportSpi.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ExportSpi.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ImportProvider.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ImportProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ImportProvider.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ImportProvider.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ImportProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ImportProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ImportProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ImportProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/ImportSpi.java b/server-spi-private/src/main/java/org/keycloak/exportimport/ImportSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/ImportSpi.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/ImportSpi.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/Strategy.java b/server-spi-private/src/main/java/org/keycloak/exportimport/Strategy.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/Strategy.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/Strategy.java diff --git a/server-spi/src/main/java/org/keycloak/exportimport/UsersExportStrategy.java b/server-spi-private/src/main/java/org/keycloak/exportimport/UsersExportStrategy.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/exportimport/UsersExportStrategy.java rename to server-spi-private/src/main/java/org/keycloak/exportimport/UsersExportStrategy.java diff --git a/server-spi/src/main/java/org/keycloak/forms/account/AccountPages.java b/server-spi-private/src/main/java/org/keycloak/forms/account/AccountPages.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/account/AccountPages.java rename to server-spi-private/src/main/java/org/keycloak/forms/account/AccountPages.java diff --git a/server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java b/server-spi-private/src/main/java/org/keycloak/forms/account/AccountProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/account/AccountProvider.java rename to server-spi-private/src/main/java/org/keycloak/forms/account/AccountProvider.java diff --git a/server-spi/src/main/java/org/keycloak/forms/account/AccountProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/forms/account/AccountProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/account/AccountProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/forms/account/AccountProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/forms/account/AccountSpi.java b/server-spi-private/src/main/java/org/keycloak/forms/account/AccountSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/account/AccountSpi.java rename to server-spi-private/src/main/java/org/keycloak/forms/account/AccountSpi.java diff --git a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsPages.java b/server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsPages.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/login/LoginFormsPages.java rename to server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsPages.java diff --git a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java b/server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java rename to server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsProvider.java diff --git a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/login/LoginFormsProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/forms/login/LoginFormsSpi.java b/server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/forms/login/LoginFormsSpi.java rename to server-spi-private/src/main/java/org/keycloak/forms/login/LoginFormsSpi.java diff --git a/server-spi/src/main/java/org/keycloak/keys/KeyProvider.java b/server-spi-private/src/main/java/org/keycloak/keys/KeyProvider.java similarity index 97% rename from server-spi/src/main/java/org/keycloak/keys/KeyProvider.java rename to server-spi-private/src/main/java/org/keycloak/keys/KeyProvider.java index 31ca54194f..5eebe818eb 100644 --- a/server-spi/src/main/java/org/keycloak/keys/KeyProvider.java +++ b/server-spi-private/src/main/java/org/keycloak/keys/KeyProvider.java @@ -21,7 +21,6 @@ import org.keycloak.provider.Provider; import java.security.PrivateKey; import java.security.PublicKey; -import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.util.List; diff --git a/server-spi/src/main/java/org/keycloak/keys/KeyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/keys/KeyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/KeyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/keys/KeyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/keys/KeySpi.java b/server-spi-private/src/main/java/org/keycloak/keys/KeySpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/KeySpi.java rename to server-spi-private/src/main/java/org/keycloak/keys/KeySpi.java diff --git a/server-spi/src/main/java/org/keycloak/keys/PublicKeyLoader.java b/server-spi-private/src/main/java/org/keycloak/keys/PublicKeyLoader.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/PublicKeyLoader.java rename to server-spi-private/src/main/java/org/keycloak/keys/PublicKeyLoader.java diff --git a/server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageProvider.java b/server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageProvider.java rename to server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageProvider.java diff --git a/server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageSpi.java b/server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/keys/PublicKeyStorageSpi.java rename to server-spi-private/src/main/java/org/keycloak/keys/PublicKeyStorageSpi.java diff --git a/server-spi/src/main/java/org/keycloak/mappers/FederationConfigValidationException.java b/server-spi-private/src/main/java/org/keycloak/mappers/FederationConfigValidationException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/mappers/FederationConfigValidationException.java rename to server-spi-private/src/main/java/org/keycloak/mappers/FederationConfigValidationException.java diff --git a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java b/server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapper.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/mappers/UserFederationMapper.java rename to server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapper.java diff --git a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java b/server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java rename to server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapperFactory.java diff --git a/server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperSpi.java b/server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapperSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/mappers/UserFederationMapperSpi.java rename to server-spi-private/src/main/java/org/keycloak/mappers/UserFederationMapperSpi.java diff --git a/server-spi/src/main/java/org/keycloak/migration/MigrationModelManager.java b/server-spi-private/src/main/java/org/keycloak/migration/MigrationModelManager.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/MigrationModelManager.java rename to server-spi-private/src/main/java/org/keycloak/migration/MigrationModelManager.java diff --git a/server-spi/src/main/java/org/keycloak/migration/MigrationProvider.java b/server-spi-private/src/main/java/org/keycloak/migration/MigrationProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/MigrationProvider.java rename to server-spi-private/src/main/java/org/keycloak/migration/MigrationProvider.java diff --git a/server-spi/src/main/java/org/keycloak/migration/MigrationProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/migration/MigrationProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/MigrationProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/migration/MigrationProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/migration/MigrationSpi.java b/server-spi-private/src/main/java/org/keycloak/migration/MigrationSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/MigrationSpi.java rename to server-spi-private/src/main/java/org/keycloak/migration/MigrationSpi.java diff --git a/server-spi/src/main/java/org/keycloak/migration/ModelVersion.java b/server-spi-private/src/main/java/org/keycloak/migration/ModelVersion.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/ModelVersion.java rename to server-spi-private/src/main/java/org/keycloak/migration/ModelVersion.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_2_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_3_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_4_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_4_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_4_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_4_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_5_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_5_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_5_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_5_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_6_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_7_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_8_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_2.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_2.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_2.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo1_9_2.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_0_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_0_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_0_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_0_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_1_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_1_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_1_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_1_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_2_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrateTo2_3_0.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/Migration.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/Migration.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/Migration.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/Migration.java diff --git a/server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java b/server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java rename to server-spi-private/src/main/java/org/keycloak/migration/migrators/MigrationUtils.java diff --git a/server-spi/src/main/java/org/keycloak/models/AccountRoles.java b/server-spi-private/src/main/java/org/keycloak/models/AccountRoles.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/AccountRoles.java rename to server-spi-private/src/main/java/org/keycloak/models/AccountRoles.java diff --git a/server-spi/src/main/java/org/keycloak/models/AdminRoles.java b/server-spi-private/src/main/java/org/keycloak/models/AdminRoles.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/AdminRoles.java rename to server-spi-private/src/main/java/org/keycloak/models/AdminRoles.java diff --git a/server-spi/src/main/java/org/keycloak/models/BrowserSecurityHeaders.java b/server-spi-private/src/main/java/org/keycloak/models/BrowserSecurityHeaders.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/BrowserSecurityHeaders.java rename to server-spi-private/src/main/java/org/keycloak/models/BrowserSecurityHeaders.java diff --git a/server-spi/src/main/java/org/keycloak/models/ClaimMask.java b/server-spi-private/src/main/java/org/keycloak/models/ClaimMask.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ClaimMask.java rename to server-spi-private/src/main/java/org/keycloak/models/ClaimMask.java diff --git a/server-spi/src/main/java/org/keycloak/models/ClientConfigResolver.java b/server-spi-private/src/main/java/org/keycloak/models/ClientConfigResolver.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ClientConfigResolver.java rename to server-spi-private/src/main/java/org/keycloak/models/ClientConfigResolver.java diff --git a/server-spi/src/main/java/org/keycloak/models/Constants.java b/server-spi-private/src/main/java/org/keycloak/models/Constants.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/Constants.java rename to server-spi-private/src/main/java/org/keycloak/models/Constants.java diff --git a/server-spi/src/main/java/org/keycloak/models/ImpersonationConstants.java b/server-spi-private/src/main/java/org/keycloak/models/ImpersonationConstants.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ImpersonationConstants.java rename to server-spi-private/src/main/java/org/keycloak/models/ImpersonationConstants.java diff --git a/server-spi/src/main/java/org/keycloak/models/LDAPConstants.java b/server-spi-private/src/main/java/org/keycloak/models/LDAPConstants.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/LDAPConstants.java rename to server-spi-private/src/main/java/org/keycloak/models/LDAPConstants.java diff --git a/server-spi/src/main/java/org/keycloak/models/ModelDuplicateException.java b/server-spi-private/src/main/java/org/keycloak/models/ModelDuplicateException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ModelDuplicateException.java rename to server-spi-private/src/main/java/org/keycloak/models/ModelDuplicateException.java diff --git a/server-spi/src/main/java/org/keycloak/models/ModelException.java b/server-spi-private/src/main/java/org/keycloak/models/ModelException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ModelException.java rename to server-spi-private/src/main/java/org/keycloak/models/ModelException.java diff --git a/server-spi/src/main/java/org/keycloak/models/ModelReadOnlyException.java b/server-spi-private/src/main/java/org/keycloak/models/ModelReadOnlyException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/ModelReadOnlyException.java rename to server-spi-private/src/main/java/org/keycloak/models/ModelReadOnlyException.java diff --git a/server-spi/src/main/java/org/keycloak/models/RealmProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/RealmProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/RealmProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/RealmProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/RealmSpi.java b/server-spi-private/src/main/java/org/keycloak/models/RealmSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/RealmSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/RealmSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationEventAwareProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/UserFederationEventAwareProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserFederationEventAwareProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/UserFederationEventAwareProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationProviderCreationEventImpl.java b/server-spi-private/src/main/java/org/keycloak/models/UserFederationProviderCreationEventImpl.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserFederationProviderCreationEventImpl.java rename to server-spi-private/src/main/java/org/keycloak/models/UserFederationProviderCreationEventImpl.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationSpi.java b/server-spi-private/src/main/java/org/keycloak/models/UserFederationSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserFederationSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/UserFederationSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationValidatingProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/UserFederationValidatingProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserFederationValidatingProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/UserFederationValidatingProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/UserProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/UserProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserSessionProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/UserSessionProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserSessionProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/UserSessionProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserSessionSpi.java b/server-spi-private/src/main/java/org/keycloak/models/UserSessionSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserSessionSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/UserSessionSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/UserSpi.java b/server-spi-private/src/main/java/org/keycloak/models/UserSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/UserSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/UserSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProvider.java b/server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProvider.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProvider.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProviderSpi.java b/server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProviderSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/CacheRealmProviderSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/CacheRealmProviderSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/CacheUserProviderSpi.java b/server-spi-private/src/main/java/org/keycloak/models/cache/CacheUserProviderSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/CacheUserProviderSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/CacheUserProviderSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/CachedRealmModel.java b/server-spi-private/src/main/java/org/keycloak/models/cache/CachedRealmModel.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/CachedRealmModel.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/CachedRealmModel.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/UserCacheProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/cache/UserCacheProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/UserCacheProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/UserCacheProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactoryProvider.java b/server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactoryProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactoryProvider.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactoryProvider.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactorySpi.java b/server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactorySpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactorySpi.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreFactorySpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/cache/authorization/CachedStoreProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/cache/authorization/CachedStoreProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/dblock/DBLockManager.java b/server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockManager.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/dblock/DBLockManager.java rename to server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockManager.java diff --git a/server-spi/src/main/java/org/keycloak/models/dblock/DBLockProvider.java b/server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/dblock/DBLockProvider.java rename to server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockProvider.java diff --git a/server-spi/src/main/java/org/keycloak/models/dblock/DBLockProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/dblock/DBLockProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/dblock/DBLockSpi.java b/server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/dblock/DBLockSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/dblock/DBLockSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java b/server-spi-private/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java rename to server-spi-private/src/main/java/org/keycloak/models/session/DisabledUserSessionPersisterProvider.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java rename to server-spi-private/src/main/java/org/keycloak/models/session/PersistentClientSessionAdapter.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionModel.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentClientSessionModel.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/PersistentClientSessionModel.java rename to server-spi-private/src/main/java/org/keycloak/models/session/PersistentClientSessionModel.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java rename to server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionAdapter.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionModel.java b/server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionModel.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/PersistentUserSessionModel.java rename to server-spi-private/src/main/java/org/keycloak/models/session/PersistentUserSessionModel.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/models/session/UserSessionPersisterProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/models/session/UserSessionPersisterProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterSpi.java b/server-spi-private/src/main/java/org/keycloak/models/session/UserSessionPersisterSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/session/UserSessionPersisterSpi.java rename to server-spi-private/src/main/java/org/keycloak/models/session/UserSessionPersisterSpi.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/ComponentUtil.java b/server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/ComponentUtil.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/ComponentUtil.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java b/server-spi-private/src/main/java/org/keycloak/models/utils/CredentialValidation.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/CredentialValidation.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/CredentialValidation.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java b/server-spi-private/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/DefaultAuthenticationFlows.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/DefaultKeyProviders.java b/server-spi-private/src/main/java/org/keycloak/models/utils/DefaultKeyProviders.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/DefaultKeyProviders.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/DefaultKeyProviders.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/DefaultRequiredActions.java b/server-spi-private/src/main/java/org/keycloak/models/utils/DefaultRequiredActions.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/DefaultRequiredActions.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/DefaultRequiredActions.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/FormMessage.java b/server-spi-private/src/main/java/org/keycloak/models/utils/FormMessage.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/FormMessage.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/FormMessage.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java b/server-spi-private/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java similarity index 89% rename from server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java index 7edfea5a14..4f355a504d 100755 --- a/server-spi/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java +++ b/server-spi-private/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java @@ -256,75 +256,6 @@ public final class KeycloakModelUtils { return realmName + "-realm"; } - /** - * @param roles - * @param targetRole - * @return true if targetRole is in roles (directly or indirectly via composite role) - */ - public static boolean hasRole(Set roles, RoleModel targetRole) { - if (roles.contains(targetRole)) return true; - - for (RoleModel mapping : roles) { - if (mapping.hasRole(targetRole)) return true; - } - return false; - } - - /** - * Checks whether the {@code targetRole} is contained in the given group or its parents - * (if requested) - * @param group Group to check role for - * @param targetRole - * @param checkParentGroup When {@code true}, also parent group is recursively checked for role - * @return true if targetRole is in roles (directly or indirectly via composite role) - */ - public static boolean hasRoleFromGroup(GroupModel group, RoleModel targetRole, boolean checkParentGroup) { - if (group.hasRole(targetRole)) - return true; - - if (checkParentGroup) { - GroupModel parent = group.getParent(); - return parent != null && hasRoleFromGroup(parent, targetRole, true); - } - - return false; - } - - /** - * Checks whether the {@code targetRole} is contained in any of the {@code groups} or their parents - * (if requested) - * @param groups - * @param targetRole - * @param checkParentGroup When {@code true}, also parent group is recursively checked for role - * @return true if targetRole is in roles (directly or indirectly via composite role) - */ - public static boolean hasRoleFromGroup(Iterable groups, RoleModel targetRole, boolean checkParentGroup) { - if (groups == null) { - return false; - } - - return StreamSupport.stream(groups.spliterator(), false) - .anyMatch(group -> hasRoleFromGroup(group, targetRole, checkParentGroup)); - } - - /** - * - * @param groups - * @param targetGroup - * @return true if targetGroup is in groups (directly or indirectly via parent child relationship) - */ - public static boolean isMember(Set groups, GroupModel targetGroup) { - if (groups.contains(targetGroup)) return true; - - for (GroupModel mapping : groups) { - GroupModel child = mapping; - while(child.getParent() != null) { - if (child.getParent().equals(targetGroup)) return true; - child = child.getParent(); - } - } - return false; - } // USER FEDERATION RELATED STUFF /** diff --git a/server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java b/server-spi-private/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/ModelToRepresentation.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/PostMigrationEvent.java b/server-spi-private/src/main/java/org/keycloak/models/utils/PostMigrationEvent.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/PostMigrationEvent.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/PostMigrationEvent.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/RealmImporter.java b/server-spi-private/src/main/java/org/keycloak/models/utils/RealmImporter.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/RealmImporter.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/RealmImporter.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/RealmInfoUtil.java b/server-spi-private/src/main/java/org/keycloak/models/utils/RealmInfoUtil.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/RealmInfoUtil.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/RealmInfoUtil.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/RepresentationToModel.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/RepresentationToModel.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/SHAPasswordEncoder.java b/server-spi-private/src/main/java/org/keycloak/models/utils/SHAPasswordEncoder.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/SHAPasswordEncoder.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/SHAPasswordEncoder.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/StripSecretsUtils.java b/server-spi-private/src/main/java/org/keycloak/models/utils/StripSecretsUtils.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/StripSecretsUtils.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/StripSecretsUtils.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/TimeBasedOTP.java b/server-spi-private/src/main/java/org/keycloak/models/utils/TimeBasedOTP.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/TimeBasedOTP.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/TimeBasedOTP.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java b/server-spi-private/src/main/java/org/keycloak/models/utils/UserModelDelegate.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/UserModelDelegate.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/UserModelDelegate.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/AnnotatedPropertyCriteria.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/AnnotatedPropertyCriteria.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/AnnotatedPropertyCriteria.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/AnnotatedPropertyCriteria.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/MethodProperty.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/MethodProperty.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/MethodProperty.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/MethodProperty.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/MethodPropertyImpl.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/MethodPropertyImpl.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/MethodPropertyImpl.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/MethodPropertyImpl.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/NamedPropertyCriteria.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/NamedPropertyCriteria.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/NamedPropertyCriteria.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/NamedPropertyCriteria.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/Properties.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/Properties.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/Properties.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/Properties.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/Property.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/Property.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/Property.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/Property.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyCriteria.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyCriteria.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyCriteria.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyCriteria.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyQueries.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyQueries.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyQueries.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyQueries.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyQuery.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyQuery.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/PropertyQuery.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/PropertyQuery.java diff --git a/server-spi/src/main/java/org/keycloak/models/utils/reflection/TypedPropertyCriteria.java b/server-spi-private/src/main/java/org/keycloak/models/utils/reflection/TypedPropertyCriteria.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/models/utils/reflection/TypedPropertyCriteria.java rename to server-spi-private/src/main/java/org/keycloak/models/utils/reflection/TypedPropertyCriteria.java diff --git a/server-spi/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/DefaultPasswordPolicyManagerProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/DigitsPasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java similarity index 96% rename from server-spi/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java index 114447834d..b9f6f4ce41 100644 --- a/server-spi/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/ForceExpiredPasswordPolicyProviderFactory.java @@ -20,6 +20,7 @@ package org.keycloak.policy; import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; +import org.keycloak.models.PasswordPolicy; import org.keycloak.models.RealmModel; import org.keycloak.models.UserModel; @@ -28,7 +29,6 @@ import org.keycloak.models.UserModel; */ public class ForceExpiredPasswordPolicyProviderFactory implements PasswordPolicyProviderFactory, PasswordPolicyProvider { - public static final String ID = "forceExpiredPasswordChange"; public static final int DEFAULT_VALUE = 365; @Override @@ -50,7 +50,7 @@ public class ForceExpiredPasswordPolicyProviderFactory implements PasswordPolicy @Override public String getId() { - return ID; + return PasswordPolicy.FORCE_EXPIRED_ID; } @Override diff --git a/server-spi/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java similarity index 90% rename from server-spi/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java index e7daaabba0..303ba7993f 100644 --- a/server-spi/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/HashAlgorithmPasswordPolicyProviderFactory.java @@ -20,6 +20,7 @@ package org.keycloak.policy; import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; +import org.keycloak.models.PasswordPolicy; import org.keycloak.models.RealmModel; import org.keycloak.models.UserModel; @@ -28,10 +29,6 @@ import org.keycloak.models.UserModel; */ public class HashAlgorithmPasswordPolicyProviderFactory implements PasswordPolicyProviderFactory, PasswordPolicyProvider { - public static final String DEFAULT_VALUE = "pbkdf2"; - - public static final String ID = "hashAlgorithm"; - @Override public PasswordPolicyProvider create(KeycloakSession session) { return this; @@ -51,7 +48,7 @@ public class HashAlgorithmPasswordPolicyProviderFactory implements PasswordPolic @Override public String getId() { - return ID; + return PasswordPolicy.HASH_ALGORITHM_ID; } @Override @@ -76,7 +73,7 @@ public class HashAlgorithmPasswordPolicyProviderFactory implements PasswordPolic @Override public String getDefaultConfigValue() { - return DEFAULT_VALUE; + return PasswordPolicy.HASH_ALGORITHM_DEFAULT; } @Override @@ -86,7 +83,7 @@ public class HashAlgorithmPasswordPolicyProviderFactory implements PasswordPolic @Override public Object parseConfig(String value) { - return value != null ? value : DEFAULT_VALUE; + return value != null ? value : PasswordPolicy.HASH_ALGORITHM_DEFAULT; } } diff --git a/server-spi/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java similarity index 89% rename from server-spi/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java index ae9d497e23..695ab282ea 100644 --- a/server-spi/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/HashIterationsPasswordPolicyProviderFactory.java @@ -20,6 +20,7 @@ package org.keycloak.policy; import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; +import org.keycloak.models.PasswordPolicy; import org.keycloak.models.RealmModel; import org.keycloak.models.UserModel; @@ -28,9 +29,6 @@ import org.keycloak.models.UserModel; */ public class HashIterationsPasswordPolicyProviderFactory implements PasswordPolicyProvider, PasswordPolicyProviderFactory { - public static final int DEFAULT_VALUE = 20000; - - public static final String ID = "hashIterations"; @Override public PasswordPolicyProvider create(KeycloakSession session) { @@ -47,7 +45,7 @@ public class HashIterationsPasswordPolicyProviderFactory implements PasswordPoli @Override public String getId() { - return ID; + return PasswordPolicy.HASH_ITERATIONS_ID; } @Override @@ -62,7 +60,7 @@ public class HashIterationsPasswordPolicyProviderFactory implements PasswordPoli @Override public Object parseConfig(String value) { - return value != null ? Integer.parseInt(value) : DEFAULT_VALUE; + return value != null ? Integer.parseInt(value) : PasswordPolicy.HASH_ITERATIONS_DEFAULT; } @Override @@ -77,7 +75,7 @@ public class HashIterationsPasswordPolicyProviderFactory implements PasswordPoli @Override public String getDefaultConfigValue() { - return String.valueOf(DEFAULT_VALUE); + return String.valueOf(PasswordPolicy.HASH_ITERATIONS_DEFAULT); } @Override diff --git a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java similarity index 98% rename from server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java index 154ea56b39..004d54028e 100644 --- a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProvider.java @@ -49,7 +49,7 @@ public class HistoryPasswordPolicyProvider implements PasswordPolicyProvider { @Override public PolicyError validate(RealmModel realm, UserModel user, String password) { PasswordPolicy policy = session.getContext().getRealm().getPasswordPolicy(); - int passwordHistoryPolicyValue = policy.getPolicyConfig(HistoryPasswordPolicyProviderFactory.ID); + int passwordHistoryPolicyValue = policy.getPolicyConfig(PasswordPolicy.PASSWORD_HISTORY_ID); if (passwordHistoryPolicyValue != -1) { List storedPasswords = session.userCredentialManager().getStoredCredentialsByType(realm, user, CredentialModel.PASSWORD); for (CredentialModel cred : storedPasswords) { diff --git a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java similarity index 95% rename from server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java index c2c180a020..5f8a9d1888 100644 --- a/server-spi/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/HistoryPasswordPolicyProviderFactory.java @@ -20,18 +20,18 @@ package org.keycloak.policy; import org.keycloak.Config; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; +import org.keycloak.models.PasswordPolicy; /** * @author Stian Thorgersen */ public class HistoryPasswordPolicyProviderFactory implements PasswordPolicyProviderFactory { - public static final String ID = "passwordHistory"; public static final Integer DEFAULT_VALUE = 3; @Override public String getId() { - return ID; + return PasswordPolicy.PASSWORD_HISTORY_ID; } @Override diff --git a/server-spi/src/main/java/org/keycloak/policy/LengthPasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/LengthPasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/LengthPasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/LengthPasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/LengthPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/LengthPasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/LengthPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/LengthPasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/LowerCasePasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/NotUsernamePasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerSpi.java b/server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/PasswordPolicyManagerSpi.java rename to server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyManagerSpi.java diff --git a/server-spi/src/main/java/org/keycloak/policy/PasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/PasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/PasswordPolicySpi.java b/server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicySpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/PasswordPolicySpi.java rename to server-spi-private/src/main/java/org/keycloak/policy/PasswordPolicySpi.java diff --git a/server-spi/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/RegexPatternsPasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/SpecialCharsPasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProvider.java b/server-spi-private/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProvider.java rename to server-spi-private/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProvider.java diff --git a/server-spi/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/policy/UpperCasePasswordPolicyProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/AbstractLoginProtocolFactory.java b/server-spi-private/src/main/java/org/keycloak/protocol/AbstractLoginProtocolFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/AbstractLoginProtocolFactory.java rename to server-spi-private/src/main/java/org/keycloak/protocol/AbstractLoginProtocolFactory.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/ClientInstallationProvider.java b/server-spi-private/src/main/java/org/keycloak/protocol/ClientInstallationProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/ClientInstallationProvider.java rename to server-spi-private/src/main/java/org/keycloak/protocol/ClientInstallationProvider.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/ClientInstallationSpi.java b/server-spi-private/src/main/java/org/keycloak/protocol/ClientInstallationSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/ClientInstallationSpi.java rename to server-spi-private/src/main/java/org/keycloak/protocol/ClientInstallationSpi.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/LoginProtocol.java b/server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocol.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/LoginProtocol.java rename to server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocol.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/LoginProtocolFactory.java b/server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocolFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/LoginProtocolFactory.java rename to server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocolFactory.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/LoginProtocolSpi.java b/server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocolSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/LoginProtocolSpi.java rename to server-spi-private/src/main/java/org/keycloak/protocol/LoginProtocolSpi.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/ProtocolMapper.java b/server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapper.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/ProtocolMapper.java rename to server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapper.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/ProtocolMapperConfigException.java b/server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapperConfigException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/ProtocolMapperConfigException.java rename to server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapperConfigException.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/ProtocolMapperSpi.java b/server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapperSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/ProtocolMapperSpi.java rename to server-spi-private/src/main/java/org/keycloak/protocol/ProtocolMapperSpi.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProvider.java b/server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProvider.java rename to server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProvider.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionSpi.java b/server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionSpi.java rename to server-spi-private/src/main/java/org/keycloak/protocol/oidc/TokenIntrospectionSpi.java diff --git a/server-spi/src/main/java/org/keycloak/provider/ConfigurationValidationHelper.java b/server-spi-private/src/main/java/org/keycloak/provider/ConfigurationValidationHelper.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/provider/ConfigurationValidationHelper.java rename to server-spi-private/src/main/java/org/keycloak/provider/ConfigurationValidationHelper.java diff --git a/server-spi/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/provider/ProviderLoader.java b/server-spi-private/src/main/java/org/keycloak/provider/ProviderLoader.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/provider/ProviderLoader.java rename to server-spi-private/src/main/java/org/keycloak/provider/ProviderLoader.java diff --git a/server-spi/src/main/java/org/keycloak/provider/ProviderLoaderFactory.java b/server-spi-private/src/main/java/org/keycloak/provider/ProviderLoaderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/provider/ProviderLoaderFactory.java rename to server-spi-private/src/main/java/org/keycloak/provider/ProviderLoaderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/provider/ServerInfoAwareProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/provider/ServerInfoAwareProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/provider/ServerInfoAwareProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/provider/ServerInfoAwareProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/InvocableScriptAdapter.java b/server-spi-private/src/main/java/org/keycloak/scripting/InvocableScriptAdapter.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/InvocableScriptAdapter.java rename to server-spi-private/src/main/java/org/keycloak/scripting/InvocableScriptAdapter.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/Script.java b/server-spi-private/src/main/java/org/keycloak/scripting/Script.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/Script.java rename to server-spi-private/src/main/java/org/keycloak/scripting/Script.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/ScriptBindingsConfigurer.java b/server-spi-private/src/main/java/org/keycloak/scripting/ScriptBindingsConfigurer.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/ScriptBindingsConfigurer.java rename to server-spi-private/src/main/java/org/keycloak/scripting/ScriptBindingsConfigurer.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/ScriptExecutionException.java b/server-spi-private/src/main/java/org/keycloak/scripting/ScriptExecutionException.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/ScriptExecutionException.java rename to server-spi-private/src/main/java/org/keycloak/scripting/ScriptExecutionException.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/ScriptingProvider.java b/server-spi-private/src/main/java/org/keycloak/scripting/ScriptingProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/ScriptingProvider.java rename to server-spi-private/src/main/java/org/keycloak/scripting/ScriptingProvider.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/ScriptingProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/scripting/ScriptingProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/ScriptingProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/scripting/ScriptingProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/scripting/ScriptingSpi.java b/server-spi-private/src/main/java/org/keycloak/scripting/ScriptingSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/scripting/ScriptingSpi.java rename to server-spi-private/src/main/java/org/keycloak/scripting/ScriptingSpi.java diff --git a/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtector.java b/server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtector.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtector.java rename to server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtector.java diff --git a/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorFactory.java b/server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtectorFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorFactory.java rename to server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtectorFactory.java diff --git a/server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java b/server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java rename to server-spi-private/src/main/java/org/keycloak/services/managers/BruteForceProtectorSpi.java diff --git a/server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java b/server-spi-private/src/main/java/org/keycloak/services/managers/ClientSessionCode.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/managers/ClientSessionCode.java rename to server-spi-private/src/main/java/org/keycloak/services/managers/ClientSessionCode.java diff --git a/server-spi/src/main/java/org/keycloak/services/resource/RealmResourceProvider.java b/server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/resource/RealmResourceProvider.java rename to server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceProvider.java diff --git a/server-spi/src/main/java/org/keycloak/services/resource/RealmResourceProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/resource/RealmResourceProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/services/resource/RealmResourceSPI.java b/server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceSPI.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/services/resource/RealmResourceSPI.java rename to server-spi-private/src/main/java/org/keycloak/services/resource/RealmResourceSPI.java diff --git a/server-spi/src/main/java/org/keycloak/theme/Theme.java b/server-spi-private/src/main/java/org/keycloak/theme/Theme.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/theme/Theme.java rename to server-spi-private/src/main/java/org/keycloak/theme/Theme.java diff --git a/server-spi/src/main/java/org/keycloak/theme/ThemeProvider.java b/server-spi-private/src/main/java/org/keycloak/theme/ThemeProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/theme/ThemeProvider.java rename to server-spi-private/src/main/java/org/keycloak/theme/ThemeProvider.java diff --git a/server-spi/src/main/java/org/keycloak/theme/ThemeProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/theme/ThemeProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/theme/ThemeProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/theme/ThemeProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/theme/ThemeSpi.java b/server-spi-private/src/main/java/org/keycloak/theme/ThemeSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/theme/ThemeSpi.java rename to server-spi-private/src/main/java/org/keycloak/theme/ThemeSpi.java diff --git a/server-spi/src/main/java/org/keycloak/timer/ScheduledTask.java b/server-spi-private/src/main/java/org/keycloak/timer/ScheduledTask.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/timer/ScheduledTask.java rename to server-spi-private/src/main/java/org/keycloak/timer/ScheduledTask.java diff --git a/server-spi/src/main/java/org/keycloak/timer/TimerProvider.java b/server-spi-private/src/main/java/org/keycloak/timer/TimerProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/timer/TimerProvider.java rename to server-spi-private/src/main/java/org/keycloak/timer/TimerProvider.java diff --git a/server-spi/src/main/java/org/keycloak/timer/TimerProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/timer/TimerProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/timer/TimerProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/timer/TimerProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/timer/TimerSpi.java b/server-spi-private/src/main/java/org/keycloak/timer/TimerSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/timer/TimerSpi.java rename to server-spi-private/src/main/java/org/keycloak/timer/TimerSpi.java diff --git a/server-spi/src/main/java/org/keycloak/transaction/JtaTransactionManagerLookup.java b/server-spi-private/src/main/java/org/keycloak/transaction/JtaTransactionManagerLookup.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/transaction/JtaTransactionManagerLookup.java rename to server-spi-private/src/main/java/org/keycloak/transaction/JtaTransactionManagerLookup.java diff --git a/server-spi/src/main/java/org/keycloak/transaction/TransactionManagerLookupSpi.java b/server-spi-private/src/main/java/org/keycloak/transaction/TransactionManagerLookupSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/transaction/TransactionManagerLookupSpi.java rename to server-spi-private/src/main/java/org/keycloak/transaction/TransactionManagerLookupSpi.java diff --git a/server-spi/src/main/java/org/keycloak/truststore/HostnameVerificationPolicy.java b/server-spi-private/src/main/java/org/keycloak/truststore/HostnameVerificationPolicy.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/truststore/HostnameVerificationPolicy.java rename to server-spi-private/src/main/java/org/keycloak/truststore/HostnameVerificationPolicy.java diff --git a/server-spi/src/main/java/org/keycloak/truststore/TruststoreProvider.java b/server-spi-private/src/main/java/org/keycloak/truststore/TruststoreProvider.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/truststore/TruststoreProvider.java rename to server-spi-private/src/main/java/org/keycloak/truststore/TruststoreProvider.java diff --git a/server-spi/src/main/java/org/keycloak/truststore/TruststoreProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/truststore/TruststoreProviderFactory.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/truststore/TruststoreProviderFactory.java rename to server-spi-private/src/main/java/org/keycloak/truststore/TruststoreProviderFactory.java diff --git a/server-spi/src/main/java/org/keycloak/truststore/TruststoreSpi.java b/server-spi-private/src/main/java/org/keycloak/truststore/TruststoreSpi.java similarity index 100% rename from server-spi/src/main/java/org/keycloak/truststore/TruststoreSpi.java rename to server-spi-private/src/main/java/org/keycloak/truststore/TruststoreSpi.java diff --git a/server-spi/src/main/resources/META-INF/services/org.keycloak.models.session.UserSessionPersisterProviderFactory b/server-spi-private/src/main/resources/META-INF/services/org.keycloak.models.session.UserSessionPersisterProviderFactory similarity index 100% rename from server-spi/src/main/resources/META-INF/services/org.keycloak.models.session.UserSessionPersisterProviderFactory rename to server-spi-private/src/main/resources/META-INF/services/org.keycloak.models.session.UserSessionPersisterProviderFactory diff --git a/server-spi/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyManagerProviderFactory b/server-spi-private/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyManagerProviderFactory similarity index 100% rename from server-spi/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyManagerProviderFactory rename to server-spi-private/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyManagerProviderFactory diff --git a/server-spi/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyProviderFactory b/server-spi-private/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyProviderFactory similarity index 100% rename from server-spi/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyProviderFactory rename to server-spi-private/src/main/resources/META-INF/services/org.keycloak.policy.PasswordPolicyProviderFactory diff --git a/server-spi-private/src/main/resources/META-INF/services/org.keycloak.provider.Spi b/server-spi-private/src/main/resources/META-INF/services/org.keycloak.provider.Spi new file mode 100755 index 0000000000..bbd588ea50 --- /dev/null +++ b/server-spi-private/src/main/resources/META-INF/services/org.keycloak.provider.Spi @@ -0,0 +1,68 @@ +# +# Copyright 2016 Red Hat, Inc. and/or its affiliates +# and other contributors as indicated by the @author tags. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +org.keycloak.models.UserFederationSpi +org.keycloak.storage.UserStorageProviderSpi +org.keycloak.storage.federated.UserFederatedStorageProviderSpi +org.keycloak.mappers.UserFederationMapperSpi +org.keycloak.models.RealmSpi +org.keycloak.models.UserSessionSpi +org.keycloak.models.UserSpi +org.keycloak.models.session.UserSessionPersisterSpi +org.keycloak.models.dblock.DBLockSpi +org.keycloak.migration.MigrationSpi +org.keycloak.events.EventListenerSpi +org.keycloak.events.EventStoreSpi +org.keycloak.exportimport.ExportSpi +org.keycloak.exportimport.ImportSpi +org.keycloak.timer.TimerSpi +org.keycloak.scripting.ScriptingSpi +org.keycloak.services.managers.BruteForceProtectorSpi +org.keycloak.services.resource.RealmResourceSPI +org.keycloak.protocol.ClientInstallationSpi +org.keycloak.protocol.LoginProtocolSpi +org.keycloak.protocol.ProtocolMapperSpi +org.keycloak.broker.provider.IdentityProviderSpi +org.keycloak.broker.provider.IdentityProviderMapperSpi +org.keycloak.broker.social.SocialProviderSpi +org.keycloak.forms.account.AccountSpi +org.keycloak.forms.login.LoginFormsSpi +org.keycloak.email.EmailSenderSpi +org.keycloak.email.EmailTemplateSpi +org.keycloak.theme.ThemeSpi +org.keycloak.truststore.TruststoreSpi +org.keycloak.connections.httpclient.HttpClientSpi +org.keycloak.models.cache.CacheRealmProviderSpi +org.keycloak.models.cache.CacheUserProviderSpi +org.keycloak.authentication.AuthenticatorSpi +org.keycloak.authentication.ClientAuthenticatorSpi +org.keycloak.authentication.RequiredActionSpi +org.keycloak.authentication.FormAuthenticatorSpi +org.keycloak.authentication.FormActionSpi +org.keycloak.cluster.ClusterSpi +org.keycloak.authorization.policy.provider.PolicySpi +org.keycloak.authorization.store.StoreFactorySpi +org.keycloak.authorization.AuthorizationSpi +org.keycloak.models.cache.authorization.CachedStoreFactorySpi +org.keycloak.protocol.oidc.TokenIntrospectionSpi +org.keycloak.policy.PasswordPolicySpi +org.keycloak.policy.PasswordPolicyManagerSpi +org.keycloak.transaction.TransactionManagerLookupSpi +org.keycloak.credential.hash.PasswordHashSpi +org.keycloak.credential.CredentialSpi +org.keycloak.keys.PublicKeyStorageSpi +org.keycloak.keys.KeySpi \ No newline at end of file diff --git a/server-spi/src/test/java/org/keycloak/models/HmacTest.java b/server-spi-private/src/test/java/org/keycloak/models/HmacTest.java similarity index 100% rename from server-spi/src/test/java/org/keycloak/models/HmacTest.java rename to server-spi-private/src/test/java/org/keycloak/models/HmacTest.java diff --git a/server-spi/src/main/java/org/keycloak/models/KeycloakContext.java b/server-spi/src/main/java/org/keycloak/models/KeycloakContext.java index e644a8095c..be5f55189f 100755 --- a/server-spi/src/main/java/org/keycloak/models/KeycloakContext.java +++ b/server-spi/src/main/java/org/keycloak/models/KeycloakContext.java @@ -18,7 +18,6 @@ package org.keycloak.models; import org.keycloak.common.ClientConnection; -import org.keycloak.models.utils.RealmImporter; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.UriInfo; @@ -52,8 +51,6 @@ public interface KeycloakContext { void setConnection(ClientConnection connection); - RealmImporter getRealmManager(); - Locale resolveLocale(UserModel user); } diff --git a/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java b/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java index cb1089192d..f3242eb73b 100755 --- a/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java +++ b/server-spi/src/main/java/org/keycloak/models/KeycloakSession.java @@ -20,7 +20,6 @@ package org.keycloak.models; import org.keycloak.component.ComponentModel; import org.keycloak.models.cache.UserCache; import org.keycloak.provider.Provider; -import org.keycloak.scripting.ScriptingProvider; import org.keycloak.storage.federated.UserFederatedStorageProvider; import java.util.Set; @@ -157,8 +156,4 @@ public interface KeycloakSession { */ KeyManager keys(); - /** - * Keycloak scripting support. - */ - ScriptingProvider scripting(); } diff --git a/server-spi/src/main/java/org/keycloak/models/PasswordPolicy.java b/server-spi/src/main/java/org/keycloak/models/PasswordPolicy.java index 95dfc5301e..8833c8a33c 100755 --- a/server-spi/src/main/java/org/keycloak/models/PasswordPolicy.java +++ b/server-spi/src/main/java/org/keycloak/models/PasswordPolicy.java @@ -17,10 +17,6 @@ package org.keycloak.models; -import org.keycloak.policy.ForceExpiredPasswordPolicyProviderFactory; -import org.keycloak.policy.HashAlgorithmPasswordPolicyProviderFactory; -import org.keycloak.policy.HashIterationsPasswordPolicyProviderFactory; -import org.keycloak.policy.HistoryPasswordPolicyProviderFactory; import org.keycloak.policy.PasswordPolicyProvider; import java.io.Serializable; @@ -33,6 +29,18 @@ import java.util.Set; */ public class PasswordPolicy implements Serializable { + public static final String HASH_ALGORITHM_ID = "hashAlgorithm"; + + public static final String HASH_ALGORITHM_DEFAULT = "pbkdf2"; + + public static final String HASH_ITERATIONS_ID = "hashIterations"; + + public static final int HASH_ITERATIONS_DEFAULT = 20000; + + public static final String PASSWORD_HISTORY_ID = "passwordHistory"; + + public static final String FORCE_EXPIRED_ID = "forceExpiredPasswordChange"; + private String policyString; private Map policyConfig; @@ -84,32 +92,32 @@ public class PasswordPolicy implements Serializable { } public String getHashAlgorithm() { - if (policyConfig.containsKey(HashAlgorithmPasswordPolicyProviderFactory.ID)) { - return getPolicyConfig(HashAlgorithmPasswordPolicyProviderFactory.ID); + if (policyConfig.containsKey(HASH_ALGORITHM_ID)) { + return getPolicyConfig(HASH_ALGORITHM_ID); } else { - return HashAlgorithmPasswordPolicyProviderFactory.DEFAULT_VALUE; + return HASH_ALGORITHM_DEFAULT; } } public int getHashIterations() { - if (policyConfig.containsKey(HashIterationsPasswordPolicyProviderFactory.ID)) { - return getPolicyConfig(HashIterationsPasswordPolicyProviderFactory.ID); + if (policyConfig.containsKey(HASH_ITERATIONS_ID)) { + return getPolicyConfig(HASH_ITERATIONS_ID); } else { - return HashIterationsPasswordPolicyProviderFactory.DEFAULT_VALUE; + return HASH_ITERATIONS_DEFAULT; } } public int getExpiredPasswords() { - if (policyConfig.containsKey(HistoryPasswordPolicyProviderFactory.ID)) { - return getPolicyConfig(HistoryPasswordPolicyProviderFactory.ID); + if (policyConfig.containsKey(PASSWORD_HISTORY_ID)) { + return getPolicyConfig(PASSWORD_HISTORY_ID); } else { return -1; } } public int getDaysToExpirePassword() { - if (policyConfig.containsKey(ForceExpiredPasswordPolicyProviderFactory.ID)) { - return getPolicyConfig(ForceExpiredPasswordPolicyProviderFactory.ID); + if (policyConfig.containsKey(FORCE_EXPIRED_ID)) { + return getPolicyConfig(FORCE_EXPIRED_ID); } else { return -1; } diff --git a/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java b/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java index 1765bad209..707b96ae3d 100755 --- a/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java +++ b/server-spi/src/main/java/org/keycloak/models/UserFederationManager.java @@ -19,8 +19,6 @@ package org.keycloak.models; import org.jboss.logging.Logger; import org.keycloak.component.ComponentModel; -import org.keycloak.models.utils.KeycloakModelUtils; -import org.keycloak.services.managers.UserManager; import java.util.ArrayList; import java.util.Collections; @@ -74,7 +72,8 @@ public class UserFederationManager implements UserProvider { } public UserFederationProvider getFederationProvider(UserFederationProviderModel model) { - return KeycloakModelUtils.getFederationProviderInstance(session, model); + UserFederationProviderFactory factory = (UserFederationProviderFactory)session.getKeycloakSessionFactory().getProviderFactory(UserFederationProvider.class, model.getProviderName()); + return factory.getInstance(session, model); } public UserFederationProvider getFederationLink(RealmModel realm, UserModel user) { @@ -122,7 +121,7 @@ public class UserFederationManager implements UserProvider { } protected void deleteInvalidUser(final RealmModel realm, final UserModel user) { - KeycloakModelUtils.runJobInTransaction(session.getKeycloakSessionFactory(), new KeycloakSessionTask() { + runJobInTransaction(session.getKeycloakSessionFactory(), new KeycloakSessionTask() { @Override public void run(KeycloakSession session) { @@ -136,6 +135,29 @@ public class UserFederationManager implements UserProvider { }); } + private static void runJobInTransaction(KeycloakSessionFactory factory, KeycloakSessionTask task) { + KeycloakSession session = factory.create(); + KeycloakTransaction tx = session.getTransactionManager(); + try { + tx.begin(); + task.run(session); + + if (tx.isActive()) { + if (tx.getRollbackOnly()) { + tx.rollback(); + } else { + tx.commit(); + } + } + } catch (RuntimeException re) { + if (tx.isActive()) { + tx.rollback(); + } + throw re; + } finally { + session.close(); + } + } protected UserModel validateAndProxyUser(RealmModel realm, UserModel user) { UserModel managed = managedUsers.get(user.getId()); diff --git a/server-spi/src/main/java/org/keycloak/services/managers/UserManager.java b/server-spi/src/main/java/org/keycloak/models/UserManager.java similarity index 87% rename from server-spi/src/main/java/org/keycloak/services/managers/UserManager.java rename to server-spi/src/main/java/org/keycloak/models/UserManager.java index d0e894782f..81b2b51a98 100755 --- a/server-spi/src/main/java/org/keycloak/services/managers/UserManager.java +++ b/server-spi/src/main/java/org/keycloak/models/UserManager.java @@ -15,13 +15,8 @@ * limitations under the License. */ -package org.keycloak.services.managers; +package org.keycloak.models; -import org.keycloak.models.KeycloakSession; -import org.keycloak.models.RealmModel; -import org.keycloak.models.UserModel; -import org.keycloak.models.UserProvider; -import org.keycloak.models.UserSessionProvider; import org.keycloak.models.session.UserSessionPersisterProvider; /** diff --git a/server-spi/src/main/java/org/keycloak/models/utils/RoleUtils.java b/server-spi/src/main/java/org/keycloak/models/utils/RoleUtils.java new file mode 100644 index 0000000000..a03a55d9f0 --- /dev/null +++ b/server-spi/src/main/java/org/keycloak/models/utils/RoleUtils.java @@ -0,0 +1,101 @@ +/* + * Copyright 2016 Red Hat, Inc. and/or its affiliates + * and other contributors as indicated by the @author tags. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.keycloak.models.utils; + +import org.keycloak.models.GroupModel; +import org.keycloak.models.RoleModel; + +import java.util.Set; +import java.util.stream.StreamSupport; + +/** + * @author Stian Thorgersen + */ +public class RoleUtils { + + /** + * + * @param groups + * @param targetGroup + * @return true if targetGroup is in groups (directly or indirectly via parent child relationship) + */ + public static boolean isMember(Set groups, GroupModel targetGroup) { + if (groups.contains(targetGroup)) return true; + + for (GroupModel mapping : groups) { + GroupModel child = mapping; + while(child.getParent() != null) { + if (child.getParent().equals(targetGroup)) return true; + child = child.getParent(); + } + } + return false; + } + + /** + * @param roles + * @param targetRole + * @return true if targetRole is in roles (directly or indirectly via composite role) + */ + public static boolean hasRole(Set roles, RoleModel targetRole) { + if (roles.contains(targetRole)) return true; + + for (RoleModel mapping : roles) { + if (mapping.hasRole(targetRole)) return true; + } + return false; + } + + /** + * Checks whether the {@code targetRole} is contained in the given group or its parents + * (if requested) + * @param group Group to check role for + * @param targetRole + * @param checkParentGroup When {@code true}, also parent group is recursively checked for role + * @return true if targetRole is in roles (directly or indirectly via composite role) + */ + public static boolean hasRoleFromGroup(GroupModel group, RoleModel targetRole, boolean checkParentGroup) { + if (group.hasRole(targetRole)) + return true; + + if (checkParentGroup) { + GroupModel parent = group.getParent(); + return parent != null && hasRoleFromGroup(parent, targetRole, true); + } + + return false; + } + + /** + * Checks whether the {@code targetRole} is contained in any of the {@code groups} or their parents + * (if requested) + * @param groups + * @param targetRole + * @param checkParentGroup When {@code true}, also parent group is recursively checked for role + * @return true if targetRole is in roles (directly or indirectly via composite role) + */ + public static boolean hasRoleFromGroup(Iterable groups, RoleModel targetRole, boolean checkParentGroup) { + if (groups == null) { + return false; + } + + return StreamSupport.stream(groups.spliterator(), false) + .anyMatch(group -> hasRoleFromGroup(group, targetRole, checkParentGroup)); + } + +} diff --git a/server-spi/src/main/java/org/keycloak/provider/Spi.java b/server-spi/src/main/java/org/keycloak/provider/Spi.java index b9c47f8e5c..8043bcf2e0 100644 --- a/server-spi/src/main/java/org/keycloak/provider/Spi.java +++ b/server-spi/src/main/java/org/keycloak/provider/Spi.java @@ -17,9 +17,6 @@ package org.keycloak.provider; -import java.util.Collections; -import java.util.List; - /** * @author Stian Thorgersen */ diff --git a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java index df6c37ab2a..c15902090e 100644 --- a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java +++ b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapter.java @@ -26,7 +26,7 @@ import org.keycloak.models.RoleContainerModel; import org.keycloak.models.RoleModel; import org.keycloak.models.UserModel; import org.keycloak.models.utils.DefaultRoles; -import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import org.keycloak.storage.StorageId; import java.util.Collections; @@ -135,7 +135,7 @@ public abstract class AbstractUserAdapter implements UserModel { @Override public boolean isMemberOf(GroupModel group) { Set roles = getGroups(); - return KeycloakModelUtils.isMember(roles, group); + return RoleUtils.isMember(roles, group); } @Override @@ -172,8 +172,8 @@ public abstract class AbstractUserAdapter implements UserModel { @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role) - || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRole(roles, role) + || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override diff --git a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java index 865f454e2c..c93dac49b2 100644 --- a/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java +++ b/server-spi/src/main/java/org/keycloak/storage/adapter/AbstractUserAdapterFederatedStorage.java @@ -25,7 +25,7 @@ import org.keycloak.models.RoleContainerModel; import org.keycloak.models.RoleModel; import org.keycloak.models.UserModel; import org.keycloak.models.utils.DefaultRoles; -import org.keycloak.models.utils.KeycloakModelUtils; +import org.keycloak.models.utils.RoleUtils; import org.keycloak.storage.StorageId; import org.keycloak.storage.federated.UserFederatedStorageProvider; @@ -140,7 +140,7 @@ public abstract class AbstractUserAdapterFederatedStorage implements UserModel { @Override public boolean isMemberOf(GroupModel group) { Set roles = getGroups(); - return KeycloakModelUtils.isMember(roles, group); + return RoleUtils.isMember(roles, group); } @Override @@ -177,8 +177,8 @@ public abstract class AbstractUserAdapterFederatedStorage implements UserModel { @Override public boolean hasRole(RoleModel role) { Set roles = getRoleMappings(); - return KeycloakModelUtils.hasRole(roles, role) - || KeycloakModelUtils.hasRoleFromGroup(getGroups(), role, true); + return RoleUtils.hasRole(roles, role) + || RoleUtils.hasRoleFromGroup(getGroups(), role, true); } @Override diff --git a/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi b/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi index bbd588ea50..c7ee4865c7 100755 --- a/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi +++ b/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi @@ -15,54 +15,21 @@ # limitations under the License. # -org.keycloak.models.UserFederationSpi -org.keycloak.storage.UserStorageProviderSpi -org.keycloak.storage.federated.UserFederatedStorageProviderSpi -org.keycloak.mappers.UserFederationMapperSpi -org.keycloak.models.RealmSpi -org.keycloak.models.UserSessionSpi -org.keycloak.models.UserSpi -org.keycloak.models.session.UserSessionPersisterSpi -org.keycloak.models.dblock.DBLockSpi -org.keycloak.migration.MigrationSpi -org.keycloak.events.EventListenerSpi -org.keycloak.events.EventStoreSpi -org.keycloak.exportimport.ExportSpi -org.keycloak.exportimport.ImportSpi -org.keycloak.timer.TimerSpi -org.keycloak.scripting.ScriptingSpi -org.keycloak.services.managers.BruteForceProtectorSpi -org.keycloak.services.resource.RealmResourceSPI -org.keycloak.protocol.ClientInstallationSpi -org.keycloak.protocol.LoginProtocolSpi -org.keycloak.protocol.ProtocolMapperSpi -org.keycloak.broker.provider.IdentityProviderSpi -org.keycloak.broker.provider.IdentityProviderMapperSpi -org.keycloak.broker.social.SocialProviderSpi -org.keycloak.forms.account.AccountSpi -org.keycloak.forms.login.LoginFormsSpi -org.keycloak.email.EmailSenderSpi -org.keycloak.email.EmailTemplateSpi -org.keycloak.theme.ThemeSpi -org.keycloak.truststore.TruststoreSpi -org.keycloak.connections.httpclient.HttpClientSpi -org.keycloak.models.cache.CacheRealmProviderSpi -org.keycloak.models.cache.CacheUserProviderSpi -org.keycloak.authentication.AuthenticatorSpi -org.keycloak.authentication.ClientAuthenticatorSpi -org.keycloak.authentication.RequiredActionSpi -org.keycloak.authentication.FormAuthenticatorSpi -org.keycloak.authentication.FormActionSpi -org.keycloak.cluster.ClusterSpi -org.keycloak.authorization.policy.provider.PolicySpi -org.keycloak.authorization.store.StoreFactorySpi -org.keycloak.authorization.AuthorizationSpi -org.keycloak.models.cache.authorization.CachedStoreFactorySpi -org.keycloak.protocol.oidc.TokenIntrospectionSpi -org.keycloak.policy.PasswordPolicySpi -org.keycloak.policy.PasswordPolicyManagerSpi -org.keycloak.transaction.TransactionManagerLookupSpi -org.keycloak.credential.hash.PasswordHashSpi -org.keycloak.credential.CredentialSpi -org.keycloak.keys.PublicKeyStorageSpi -org.keycloak.keys.KeySpi \ No newline at end of file +# +# Copyright 2016 Red Hat, Inc. and/or its affiliates +# and other contributors as indicated by the @author tags. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +org.keycloak.storage.UserStorageProviderSpi \ No newline at end of file diff --git a/services/pom.xml b/services/pom.xml index dc33a3db69..0fb68f7735 100755 --- a/services/pom.xml +++ b/services/pom.xml @@ -63,6 +63,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.jboss.spec.javax.servlet jboss-servlet-api_3.0_spec diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java index fdaa48187a..ef17476e33 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ConditionalOtpFormAuthenticator.java @@ -20,6 +20,7 @@ package org.keycloak.authentication.authenticators.browser; import org.keycloak.authentication.AuthenticationFlowContext; import org.keycloak.models.RoleModel; import org.keycloak.models.UserModel; +import org.keycloak.models.utils.RoleUtils; import javax.ws.rs.core.MultivaluedMap; import java.util.List; @@ -30,7 +31,6 @@ import static org.keycloak.authentication.authenticators.browser.ConditionalOtpF import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.SHOW_OTP; import static org.keycloak.authentication.authenticators.browser.ConditionalOtpFormAuthenticator.OtpDecision.SKIP_OTP; import static org.keycloak.models.utils.KeycloakModelUtils.getRoleFromString; -import static org.keycloak.models.utils.KeycloakModelUtils.hasRole; /** * An {@link OTPFormAuthenticator} that can conditionally require OTP authentication. @@ -264,6 +264,6 @@ public class ConditionalOtpFormAuthenticator extends OTPFormAuthenticator { RoleModel role = getRoleFromString(context.getRealm(), roleName); UserModel user = context.getUser(); - return hasRole(user.getRoleMappings(), role); + return RoleUtils.hasRole(user.getRoleMappings(), role); } } diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticator.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticator.java index 85a217ff1e..9bff3f9998 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticator.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticator.java @@ -142,7 +142,7 @@ public class ScriptBasedAuthenticator implements Authenticator { RealmModel realm = context.getRealm(); - ScriptingProvider scripting = context.getSession().scripting(); + ScriptingProvider scripting = context.getSession().getProvider(ScriptingProvider.class); //TODO lookup script by scriptId instead of creating it every time ScriptModel script = scripting.createScript(realm.getId(), ScriptModel.TEXT_JAVASCRIPT, scriptName, scriptCode, scriptDescription); diff --git a/services/src/main/java/org/keycloak/credential/PasswordCredentialProvider.java b/services/src/main/java/org/keycloak/credential/PasswordCredentialProvider.java index d0558abd8b..97a92ea9a3 100644 --- a/services/src/main/java/org/keycloak/credential/PasswordCredentialProvider.java +++ b/services/src/main/java/org/keycloak/credential/PasswordCredentialProvider.java @@ -140,7 +140,7 @@ public class PasswordCredentialProvider implements CredentialProvider, Credentia PasswordHashProvider hash = session.getProvider(PasswordHashProvider.class, policy.getHashAlgorithm()); if (hash == null) { logger.warnv("Realm PasswordPolicy PasswordHashProvider {0} not found", policy.getHashAlgorithm()); - return session.getProvider(PasswordHashProvider.class, HashAlgorithmPasswordPolicyProviderFactory.DEFAULT_VALUE); + return session.getProvider(PasswordHashProvider.class, PasswordPolicy.HASH_ALGORITHM_DEFAULT); } return hash; } diff --git a/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java b/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java index 1ea409288e..2357a65df9 100755 --- a/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java +++ b/services/src/main/java/org/keycloak/exportimport/util/ImportUtils.java @@ -108,7 +108,8 @@ public class ImportUtils { } } - RealmImporter realmManager = session.getContext().getRealmManager(); + RealmManager realmManager = new RealmManager(session); + realmManager.setContextPath(session.getContext().getContextPath()); realmManager.importRealm(rep); if (System.getProperty(ExportImportConfig.ACTION) != null) { diff --git a/services/src/main/java/org/keycloak/keys/AbstractRsaKeyProvider.java b/services/src/main/java/org/keycloak/keys/AbstractRsaKeyProvider.java index c5f09f16b2..f6bbaeb183 100644 --- a/services/src/main/java/org/keycloak/keys/AbstractRsaKeyProvider.java +++ b/services/src/main/java/org/keycloak/keys/AbstractRsaKeyProvider.java @@ -23,7 +23,6 @@ import org.keycloak.models.RealmModel; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; -import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.util.Collections; import java.util.List; diff --git a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java index 0128e4e668..cce0fec4da 100755 --- a/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java +++ b/services/src/main/java/org/keycloak/partialimport/UsersPartialImport.java @@ -24,7 +24,7 @@ import org.keycloak.models.utils.KeycloakModelUtils; import org.keycloak.models.utils.RepresentationToModel; import org.keycloak.representations.idm.PartialImportRepresentation; import org.keycloak.representations.idm.UserRepresentation; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import java.util.HashMap; import java.util.List; diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java index 99f2559ef4..07313d87ba 100755 --- a/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java +++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakContext.java @@ -110,13 +110,6 @@ public class DefaultKeycloakContext implements KeycloakContext { this.connection = connection; } - @Override - public RealmImporter getRealmManager() { - RealmManager manager = new RealmManager(session); - manager.setContextPath(getContextPath()); - return manager; - } - @Override public Locale resolveLocale(UserModel user) { return LocaleHelper.getLocale(session, realm, user); diff --git a/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java b/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java index 7fbd7a3d12..4cc77a269e 100644 --- a/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java +++ b/services/src/main/java/org/keycloak/services/DefaultKeycloakSession.java @@ -59,7 +59,6 @@ public class DefaultKeycloakSession implements KeycloakSession { private UserProvider userModel; private UserStorageManager userStorageManager; private UserCredentialStoreManager userCredentialStorageManager; - private ScriptingProvider scriptingProvider; private UserSessionProvider sessionProvider; private UserFederationManager federationManager; private UserFederatedStorageProvider userFederatedStorageProvider; @@ -275,14 +274,4 @@ public class DefaultKeycloakSession implements KeycloakSession { } } } - - @Override - public ScriptingProvider scripting() { - - if (scriptingProvider == null) { - scriptingProvider = getProvider(ScriptingProvider.class); - } - - return scriptingProvider; - } } diff --git a/services/src/main/java/org/keycloak/services/managers/ClientManager.java b/services/src/main/java/org/keycloak/services/managers/ClientManager.java index b648bbd6b8..eb6fba623c 100644 --- a/services/src/main/java/org/keycloak/services/managers/ClientManager.java +++ b/services/src/main/java/org/keycloak/services/managers/ClientManager.java @@ -27,6 +27,7 @@ import org.keycloak.models.ClientModel; import org.keycloak.models.KeycloakSession; import org.keycloak.models.ProtocolMapperModel; import org.keycloak.models.RealmModel; +import org.keycloak.models.UserManager; import org.keycloak.models.UserModel; import org.keycloak.models.UserSessionProvider; import org.keycloak.models.session.UserSessionPersisterProvider; diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java index f9ae190767..7a8964f6da 100755 --- a/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java +++ b/services/src/main/java/org/keycloak/services/resources/admin/UsersResource.java @@ -66,7 +66,7 @@ import org.keycloak.services.Urls; import org.keycloak.services.managers.AuthenticationManager; import org.keycloak.services.managers.BruteForceProtector; import org.keycloak.services.managers.ClientSessionCode; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import org.keycloak.services.managers.UserSessionManager; import org.keycloak.services.resources.AccountService; import org.keycloak.services.validation.Validation; diff --git a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/resources/org/keycloak/testsuite/integration-arquillian-testsuite-providers/main/module.xml b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/resources/org/keycloak/testsuite/integration-arquillian-testsuite-providers/main/module.xml index 28e478911c..6f208386fd 100644 --- a/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/resources/org/keycloak/testsuite/integration-arquillian-testsuite-providers/main/module.xml +++ b/testsuite/integration-arquillian/servers/auth-server/services/testsuite-providers/src/main/resources/org/keycloak/testsuite/integration-arquillian-testsuite-providers/main/module.xml @@ -28,6 +28,7 @@ + diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/JavaKeystoreKeyProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/JavaKeystoreKeyProviderTest.java index 5c54213aab..642a872176 100644 --- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/JavaKeystoreKeyProviderTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/JavaKeystoreKeyProviderTest.java @@ -22,15 +22,10 @@ import org.jboss.arquillian.graphene.page.Page; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import org.keycloak.common.util.KeyUtils; import org.keycloak.common.util.MultivaluedHashMap; -import org.keycloak.common.util.PemUtils; -import org.keycloak.keys.Attributes; -import org.keycloak.keys.GeneratedRsaKeyProviderFactory; import org.keycloak.keys.JavaKeystoreKeyProviderFactory; import org.keycloak.keys.KeyMetadata; import org.keycloak.keys.KeyProvider; -import org.keycloak.keys.RsaKeyProviderFactory; import org.keycloak.representations.idm.ComponentRepresentation; import org.keycloak.representations.idm.ErrorRepresentation; import org.keycloak.representations.idm.KeysMetadataRepresentation; @@ -45,9 +40,6 @@ import javax.ws.rs.core.Response; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; -import java.security.KeyPair; -import java.security.cert.Certificate; -import java.security.interfaces.RSAPublicKey; import java.util.List; import static org.junit.Assert.*; diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/RsaKeyProviderTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/RsaKeyProviderTest.java index 2dc3506bfc..5bfaef2b2a 100644 --- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/RsaKeyProviderTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/keys/RsaKeyProviderTest.java @@ -20,17 +20,13 @@ package org.keycloak.testsuite.keys; import org.jboss.arquillian.graphene.page.Page; import org.junit.Rule; import org.junit.Test; -import org.keycloak.RSATokenVerifier; -import org.keycloak.common.VerificationException; import org.keycloak.common.util.CertificateUtils; import org.keycloak.common.util.KeyUtils; import org.keycloak.common.util.MultivaluedHashMap; import org.keycloak.common.util.PemUtils; import org.keycloak.keys.Attributes; -import org.keycloak.keys.GeneratedRsaKeyProviderFactory; import org.keycloak.keys.KeyMetadata; import org.keycloak.keys.KeyProvider; -import org.keycloak.keys.RsaKeyProvider; import org.keycloak.keys.RsaKeyProviderFactory; import org.keycloak.representations.idm.ComponentRepresentation; import org.keycloak.representations.idm.ErrorRepresentation; @@ -40,16 +36,11 @@ import org.keycloak.testsuite.AbstractKeycloakTest; import org.keycloak.testsuite.AssertEvents; import org.keycloak.testsuite.admin.ApiUtil; import org.keycloak.testsuite.pages.AppPage; -import org.keycloak.testsuite.pages.AppPage.RequestType; import org.keycloak.testsuite.pages.LoginPage; -import org.keycloak.testsuite.util.OAuthClient; -import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import java.security.KeyPair; -import java.security.PublicKey; import java.security.cert.Certificate; -import java.security.cert.X509Certificate; import java.util.List; import static org.junit.Assert.*; diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml index d1311b59ea..873d99ddfe 100755 --- a/testsuite/integration/pom.xml +++ b/testsuite/integration/pom.xml @@ -120,7 +120,7 @@ org.keycloak - keycloak-server-spi + keycloak-server-spi-private org.keycloak diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/FederatedStorageExportImportTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/FederatedStorageExportImportTest.java index cafe113c75..6eccb21d23 100644 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/FederatedStorageExportImportTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/storage/FederatedStorageExportImportTest.java @@ -79,7 +79,7 @@ public class FederatedStorageExportImportTest { protected PasswordHashProvider getHashProvider(KeycloakSession session, PasswordPolicy policy) { PasswordHashProvider hash = session.getProvider(PasswordHashProvider.class, policy.getHashAlgorithm()); if (hash == null) { - return session.getProvider(PasswordHashProvider.class, HashAlgorithmPasswordPolicyProviderFactory.DEFAULT_VALUE); + return session.getProvider(PasswordHashProvider.class, PasswordPolicy.HASH_ALGORITHM_DEFAULT); } return hash; } diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java index 431bff6ff4..2db24addca 100644 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionInitializerTest.java @@ -34,7 +34,7 @@ import org.keycloak.models.UserSessionModel; import org.keycloak.models.UserSessionProvider; import org.keycloak.models.UserSessionProviderFactory; import org.keycloak.protocol.oidc.OIDCLoginProtocol; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import org.keycloak.services.managers.UserSessionManager; import org.keycloak.testsuite.rule.KeycloakRule; diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java index 074438f2bf..80f663f846 100644 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionPersisterProviderTest.java @@ -33,7 +33,7 @@ import org.keycloak.models.session.UserSessionPersisterProvider; import org.keycloak.protocol.oidc.OIDCLoginProtocol; import org.keycloak.services.managers.ClientManager; import org.keycloak.services.managers.RealmManager; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import org.keycloak.testsuite.rule.KeycloakRule; import java.util.ArrayList; diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java index 013f16c57f..b9f4f2aeda 100644 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java @@ -34,7 +34,7 @@ import org.keycloak.models.session.UserSessionPersisterProvider; import org.keycloak.protocol.oidc.OIDCLoginProtocol; import org.keycloak.services.managers.ClientManager; import org.keycloak.services.managers.RealmManager; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import org.keycloak.services.managers.UserSessionManager; import org.keycloak.testsuite.rule.KeycloakRule; import org.keycloak.testsuite.rule.LoggingRule; diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java index d75e467c0f..f2fc3aab0d 100755 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderTest.java @@ -31,7 +31,7 @@ import org.keycloak.models.UserLoginFailureModel; import org.keycloak.models.UserModel; import org.keycloak.models.UserSessionModel; import org.keycloak.protocol.oidc.OIDCLoginProtocol; -import org.keycloak.services.managers.UserManager; +import org.keycloak.models.UserManager; import org.keycloak.testsuite.rule.KeycloakRule; import java.util.Arrays; diff --git a/wildfly/adduser/pom.xml b/wildfly/adduser/pom.xml index b33eb5fdb7..6a827f48f0 100755 --- a/wildfly/adduser/pom.xml +++ b/wildfly/adduser/pom.xml @@ -34,6 +34,10 @@ org.keycloak keycloak-server-spi + + org.keycloak + keycloak-server-spi-private + org.keycloak keycloak-common diff --git a/wildfly/extensions/pom.xml b/wildfly/extensions/pom.xml index 0cafd9c5fe..9b677db509 100755 --- a/wildfly/extensions/pom.xml +++ b/wildfly/extensions/pom.xml @@ -45,6 +45,11 @@ keycloak-server-spi provided + + org.keycloak + keycloak-server-spi-private + provided + org.keycloak keycloak-services diff --git a/wildfly/server-subsystem/pom.xml b/wildfly/server-subsystem/pom.xml index 7710f9fc7b..03ac1a7e01 100755 --- a/wildfly/server-subsystem/pom.xml +++ b/wildfly/server-subsystem/pom.xml @@ -108,7 +108,7 @@ org.keycloak - keycloak-server-spi + keycloak-server-spi-private provided