keycloak-aplcache
Changes
broker/core/pom.xml 3(+0 -3)
broker/oidc/pom.xml 4(+0 -4)
broker/saml/pom.xml 11(+0 -11)
connections/file/pom.xml 4(+0 -4)
connections/infinispan/pom.xml 2(+0 -2)
connections/jpa/pom.xml 3(+0 -3)
connections/jpa-liquibase/pom.xml 14(+4 -10)
connections/mongo/pom.xml 2(+0 -2)
connections/mongo/src/main/java/org/keycloak/connections/mongo/api/context/MongoStoreInvocationContext.java 2(+2 -0)
connections/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java 3(+2 -1)
connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/SimpleMongoStoreInvocationContext.java 4(+4 -0)
connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/TransactionMongoStoreInvocationContext.java 22(+18 -4)
connections/mongo-update/pom.xml 3(+0 -3)
connections/mongo-update/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_RC1.java 1(+1 -0)
core/pom.xml 6(+0 -6)
core-jaxrs/pom.xml 1(+0 -1)
dependencies/server-all/pom.xml 37(+0 -37)
dependencies/server-min/pom.xml 23(+0 -23)
distribution/adapters/osgi/pom.xml 2(+1 -1)
distribution/adapters/pom.xml 19(+15 -4)
distribution/examples-dist/build.xml 0(+0 -0)
distribution/examples-dist/pom.xml 9(+3 -6)
distribution/modules/build.xml 47(+1 -46)
distribution/modules/pom.xml 81(+0 -81)
distribution/modules/src/main/resources/modules/org/keycloak/keycloak-saml-protocol/main/module.xml 1(+0 -1)
distribution/modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml 1(+0 -1)
distribution/modules/src/main/resources/modules/org/picketlink/federation/bindings/main/module.xml 59(+0 -59)
distribution/modules/src/main/resources/modules/org/picketlink/federation/main/module.xml 56(+0 -56)
distribution/modules/src/main/resources/modules/org/picketlink/idm/schema/main/module.xml 32(+0 -32)
distribution/pom.xml 24(+6 -18)
distribution/proxy-dist/assembly.xml 4(+2 -2)
distribution/proxy-dist/pom.xml 5(+2 -3)
distribution/server-bundle-dist/assembly.xml 27(+27 -0)
distribution/server-bundle-dist/pom.xml 70(+17 -53)
distribution/server-dist/assembly.xml 47(+47 -0)
distribution/server-dist/pom.xml 48(+24 -24)
distribution/server-overlay/assembly.xml 63(+27 -36)
distribution/server-overlay/pom.xml 123(+123 -0)
distribution/src-dist/pom.xml 4(+1 -3)
events/api/pom.xml 2(+0 -2)
events/email/pom.xml 4(+0 -4)
events/jboss-logging/pom.xml 3(+0 -3)
events/jpa/pom.xml 5(+0 -5)
events/mongo/pom.xml 4(+0 -4)
events/syslog/pom.xml 4(+0 -4)
examples/admin-client/pom.xml 11(+1 -10)
examples/basic-auth/pom.xml 20(+1 -19)
examples/broker/pom.xml 17(+3 -14)
examples/cors/angular-product-app/pom.xml 19(+2 -17)
examples/cors/database-service/pom.xml 21(+2 -19)
examples/cors/pom.xml 19(+5 -14)
examples/demo-template/customer-app/pom.xml 21(+2 -19)
examples/demo-template/example-ear/pom.xml 13(+2 -11)
examples/demo-template/pom.xml 6(+3 -3)
examples/demo-template/product-app/pom.xml 21(+2 -19)
examples/demo-template/third-party/pom.xml 22(+2 -20)
examples/fuse/camel/pom.xml 20(+2 -18)
examples/fuse/customer-app-fuse/pom.xml 21(+2 -19)
examples/fuse/cxf-jaxrs/pom.xml 19(+2 -17)
examples/fuse/cxf-jaxws/pom.xml 19(+2 -17)
examples/fuse/features/pom.xml 11(+2 -9)
examples/fuse/pom.xml 18(+3 -15)
examples/fuse/product-app-fuse/pom.xml 21(+2 -19)
examples/js-console/pom.xml 19(+2 -17)
examples/kerberos/pom.xml 20(+1 -19)
examples/multi-tenant/pom.xml 21(+1 -20)
examples/pom.xml 11(+9 -2)
examples/providers/event-store-mem/pom.xml 18(+2 -16)
examples/providers/pom.xml 17(+2 -15)
examples/saml/pom.xml 6(+3 -3)
examples/saml/post-basic/pom.xml 89(+21 -68)
examples/saml/post-with-encryption/pom.xml 78(+16 -62)
examples/saml/post-with-signature/pom.xml 78(+16 -62)
examples/saml/redirect-basic/pom.xml 78(+16 -62)
examples/saml/redirect-with-signature/pom.xml 78(+16 -62)
examples/themes/pom.xml 15(+2 -13)
export-import/export-import-api/src/main/java/org/keycloak/exportimport/util/ExportUtils.java 33(+32 -1)
federation/kerberos/pom.xml 2(+0 -2)
federation/ldap/pom.xml 3(+0 -3)
forms/account-api/pom.xml 3(+0 -3)
forms/account-freemarker/pom.xml 7(+0 -7)
forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/AccessBean.java 14(+6 -8)
forms/common-freemarker/pom.xml 2(+0 -2)
forms/common-themes/pom.xml 3(+0 -3)
forms/email-api/pom.xml 3(+0 -3)
forms/email-freemarker/pom.xml 5(+0 -5)
forms/login-api/pom.xml 2(+0 -2)
forms/login-freemarker/pom.xml 7(+0 -7)
integration/adapter-core/pom.xml 1(+0 -1)
integration/adapter-core/src/main/java/org/keycloak/adapters/AuthenticatedActionsHandler.java 4(+3 -1)
integration/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java 1(+1 -0)
integration/admin-client/pom.xml 5(+0 -5)
integration/as7-eap6/adapter/pom.xml 4(+0 -4)
integration/installed/pom.xml 2(+0 -2)
integration/jetty/jetty8.1/pom.xml 3(+0 -3)
integration/jetty/jetty9.1/pom.xml 3(+0 -3)
integration/jetty/jetty9.2/pom.xml 3(+0 -3)
integration/jetty/jetty-core/pom.xml 2(+0 -2)
integration/keycloak-as7-subsystem/pom.xml 26(+0 -26)
integration/spring-boot/pom.xml 5(+0 -5)
integration/tomcat/tomcat6/pom.xml 3(+0 -3)
integration/tomcat/tomcat7/pom.xml 3(+0 -3)
integration/tomcat/tomcat8/pom.xml 3(+0 -3)
integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java 2(+1 -1)
integration/undertow/pom.xml 2(+0 -2)
integration/wildfly-adapter/pom.xml 4(+0 -4)
misc/ReleaseProcess.md 16(+3 -13)
misc/Testsuite.md 6(+3 -3)
model/api/pom.xml 1(+0 -1)
model/file/pom.xml 5(+0 -5)
model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/UserAdapter.java 22(+11 -11)
model/jpa/pom.xml 6(+0 -6)
model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserConsentProtocolMapperEntity.java 53(+27 -26)
model/mongo/pom.xml 3(+0 -3)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java 46(+35 -11)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java 2(+1 -1)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java 9(+3 -6)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java 19(+4 -15)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java 17(+17 -0)
model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java 10(+9 -1)
model/sessions-infinispan/pom.xml 3(+0 -3)
model/sessions-jpa/pom.xml 4(+0 -4)
model/sessions-mem/pom.xml 2(+0 -2)
model/sessions-mongo/pom.xml 3(+0 -3)
model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/entities/MongoUserSessionEntity.java 2(+1 -1)
model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java 18(+7 -11)
pom.xml 941(+564 -377)
project-integrations/aerogear-ups/app/src/main/webapp/WEB-INF/jboss-deployment-structure.xml 12(+0 -12)
project-integrations/aerogear-ups/auth-server/src/main/java/org/aerogear/ups/security/UpsSecurityApplication.java 41(+0 -41)
project-integrations/aerogear-ups/auth-server/src/main/resources/META-INF/keycloak-server.json 65(+0 -65)
project-integrations/aerogear-ups/auth-server/src/main/resources/META-INF/keycloak-themes.json 6(+0 -6)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/account/resources/css/account.css 8(+0 -8)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/account/resources/img/logo.png 0(+0 -0)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/account/theme.properties 4(+0 -4)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/admin/resources/css/styles.css 45(+0 -45)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/admin/resources/img/logo.png 0(+0 -0)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/admin/theme.properties 4(+0 -4)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/login/resources/css/login.css 9(+0 -9)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/login/resources/img/logo.png 0(+0 -0)
project-integrations/aerogear-ups/auth-server/src/main/resources/theme/aerogear/login/theme.properties 4(+0 -4)
project-integrations/aerogear-ups/auth-server/src/main/webapp/WEB-INF/jboss-deployment-structure.xml 23(+0 -23)
proxy/proxy-server/pom.xml 5(+0 -5)
saml/saml-core/pom.xml 7(+0 -7)
saml/saml-protocol/pom.xml 16(+0 -16)
services/pom.xml 74(+25 -49)
social/core/pom.xml 1(+0 -1)
social/facebook/pom.xml 2(+0 -2)
social/github/pom.xml 2(+0 -2)
social/google/pom.xml 2(+0 -2)
social/linkedin/pom.xml 2(+0 -2)
social/stackoverflow/pom.xml 2(+0 -2)
social/twitter/pom.xml 4(+0 -4)
testsuite/docker-cluster/pom.xml 4(+0 -4)
testsuite/integration/pom.xml 58(+15 -43)
testsuite/integration/src/main/resources/META-INF/services/org.keycloak.models.UserFederationProviderFactory 1(+0 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderHintTest.java 8(+2 -6)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java 3(+1 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/DummyUserFederationProvider.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/DummyUserFederationProviderFactory.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java 1(+0 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java 5(+0 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/federation/SyncProvidersTest.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/ldap/EmbeddedServersFactory.java 5(+1 -4)
testsuite/integration/src/test/java/org/keycloak/testsuite/ldap/InMemoryDirectoryServiceFactory.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/ldap/InMemorySchemaPartition.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/ldap/KerberosEmbeddedServer.java 2(+1 -1)
testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserConsentModelTest.java 102(+47 -55)
testsuite/integration/src/test/resources/kerberos/kerberos-standalone-connection.properties 0(+0 -0)
testsuite/integration/src/test/resources/META-INF/services/org.keycloak.models.UserFederationProviderFactory 1(+1 -0)
testsuite/jetty/jetty81/pom.xml 25(+3 -22)
testsuite/jetty/jetty91/pom.xml 25(+3 -22)
testsuite/jetty/jetty92/pom.xml 25(+3 -22)
testsuite/performance/pom.xml 32(+1 -31)
testsuite/performance-web/pom.xml 13(+0 -13)
testsuite/performance-web/src/main/java/org/keycloak/testsuite/performance/web/OAuthClient.java 2(+1 -1)
testsuite/pom.xml 2(+0 -2)
testsuite/proxy/pom.xml 26(+3 -23)
testsuite/tomcat6/pom.xml 37(+8 -29)
testsuite/tomcat7/pom.xml 25(+3 -22)
testsuite/tomcat8/pom.xml 25(+3 -22)
testsuite/tools/pom.xml 3(+0 -3)
timer/api/pom.xml 2(+0 -2)
timer/basic/pom.xml 3(+0 -3)
Details
broker/core/pom.xml 3(+0 -3)
diff --git a/broker/core/pom.xml b/broker/core/pom.xml
index dce2420..f39c1a3 100755
--- a/broker/core/pom.xml
+++ b/broker/core/pom.xml
@@ -18,17 +18,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
broker/oidc/pom.xml 4(+0 -4)
diff --git a/broker/oidc/pom.xml b/broker/oidc/pom.xml
index 8913efb..abd9687 100755
--- a/broker/oidc/pom.xml
+++ b/broker/oidc/pom.xml
@@ -18,12 +18,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
@@ -38,13 +36,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
broker/saml/pom.xml 11(+0 -11)
diff --git a/broker/saml/pom.xml b/broker/saml/pom.xml
index 704427a..3118e57 100755
--- a/broker/saml/pom.xml
+++ b/broker/saml/pom.xml
@@ -18,37 +18,26 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-protocol</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
- <!--
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-federation</artifactId>
- </dependency>
- -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
connections/file/pom.xml 4(+0 -4)
diff --git a/connections/file/pom.xml b/connections/file/pom.xml
index d5382e0..35135ba 100755
--- a/connections/file/pom.xml
+++ b/connections/file/pom.xml
@@ -17,22 +17,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-single-file</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
connections/infinispan/pom.xml 2(+0 -2)
diff --git a/connections/infinispan/pom.xml b/connections/infinispan/pom.xml
index ffa64df..8ad5374 100755
--- a/connections/infinispan/pom.xml
+++ b/connections/infinispan/pom.xml
@@ -17,12 +17,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
connections/jpa/pom.xml 3(+0 -3)
diff --git a/connections/jpa/pom.xml b/connections/jpa/pom.xml
index 4e15dff..680fc05 100755
--- a/connections/jpa/pom.xml
+++ b/connections/jpa/pom.xml
@@ -17,12 +17,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
@@ -32,7 +30,6 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>${hibernate.entitymanager.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
diff --git a/connections/jpa/src/main/resources/META-INF/persistence.xml b/connections/jpa/src/main/resources/META-INF/persistence.xml
index fbea205..b4d93a7 100755
--- a/connections/jpa/src/main/resources/META-INF/persistence.xml
+++ b/connections/jpa/src/main/resources/META-INF/persistence.xml
@@ -20,9 +20,9 @@
<class>org.keycloak.models.jpa.entities.IdentityProviderMapperEntity</class>
<class>org.keycloak.models.jpa.entities.ClientIdentityProviderMappingEntity</class>
<class>org.keycloak.models.jpa.entities.ProtocolMapperEntity</class>
- <class>org.keycloak.models.jpa.entities.GrantedConsentEntity</class>
- <class>org.keycloak.models.jpa.entities.GrantedConsentRoleEntity</class>
- <class>org.keycloak.models.jpa.entities.GrantedConsentProtocolMapperEntity</class>
+ <class>org.keycloak.models.jpa.entities.UserConsentEntity</class>
+ <class>org.keycloak.models.jpa.entities.UserConsentRoleEntity</class>
+ <class>org.keycloak.models.jpa.entities.UserConsentProtocolMapperEntity</class>
<!-- JpaUserSessionProvider -->
<class>org.keycloak.models.sessions.jpa.entities.ClientSessionEntity</class>
connections/jpa-liquibase/pom.xml 14(+4 -10)
diff --git a/connections/jpa-liquibase/pom.xml b/connections/jpa-liquibase/pom.xml
index cf52067..0da5e9e 100755
--- a/connections/jpa-liquibase/pom.xml
+++ b/connections/jpa-liquibase/pom.xml
@@ -17,12 +17,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
@@ -41,7 +39,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
</dependency>
</dependencies>
@@ -63,13 +64,6 @@
<referenceUsername>${username}</referenceUsername>
<referencePassword>${password}</referencePassword>
</configuration>
- <dependencies>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <version>${h2.version}</version>
- </dependency>
- </dependencies>
</plugin>
</plugins>
</build>
diff --git a/connections/jpa-liquibase/src/main/resources/META-INF/jpa-changelog-1.2.0.RC1.xml b/connections/jpa-liquibase/src/main/resources/META-INF/jpa-changelog-1.2.0.RC1.xml
index a1698dc..7b8c877 100755
--- a/connections/jpa-liquibase/src/main/resources/META-INF/jpa-changelog-1.2.0.RC1.xml
+++ b/connections/jpa-liquibase/src/main/resources/META-INF/jpa-changelog-1.2.0.RC1.xml
@@ -35,7 +35,7 @@
<addColumn tableName="CREDENTIAL">
<column name="CREATED_DATE" type="BIGINT"/>
</addColumn>
- <createTable tableName="GRANTED_CONSENT">
+ <createTable tableName="USER_CONSENT">
<column name="ID" type="VARCHAR(36)">
<constraints nullable="false"/>
</column>
@@ -46,16 +46,16 @@
<constraints nullable="false"/>
</column>
</createTable>
- <createTable tableName="GRANTED_CONSENT_ROLE">
- <column name="GRANTED_CONSENT_ID" type="VARCHAR(36)">
+ <createTable tableName="USER_CONSENT_ROLE">
+ <column name="USER_CONSENT_ID" type="VARCHAR(36)">
<constraints nullable="false"/>
</column>
<column name="ROLE_ID" type="VARCHAR(36)">
<constraints nullable="false"/>
</column>
</createTable>
- <createTable tableName="GRANTED_CONSENT_PROT_MAPPER">
- <column name="GRANTED_CONSENT_ID" type="VARCHAR(36)">
+ <createTable tableName="USER_CONSENT_PROT_MAPPER">
+ <column name="USER_CONSENT_ID" type="VARCHAR(36)">
<constraints nullable="false"/>
</column>
<column name="PROTOCOL_MAPPER_ID" type="VARCHAR(36)">
@@ -64,14 +64,14 @@
</createTable>
<addPrimaryKey columnNames="ID" constraintName="CONSTRAINT_IDPM" tableName="IDENTITY_PROVIDER_MAPPER"/>
<addPrimaryKey columnNames="IDP_MAPPER_ID, NAME" constraintName="CONSTRAINT_IDPMConfig" tableName="IDP_MAPPER_CONFIG"/>
- <addPrimaryKey columnNames="ID" constraintName="CONSTRAINT_GRNTCSNT_PM" tableName="GRANTED_CONSENT"/>
- <addPrimaryKey columnNames="GRANTED_CONSENT_ID, ROLE_ID" constraintName="CONSTRAINT_GRNTCSNT_ROLE_PM" tableName="GRANTED_CONSENT_ROLE"/>
- <addPrimaryKey columnNames="GRANTED_CONSENT_ID, PROTOCOL_MAPPER_ID" constraintName="CONSTRAINT_GRNTCSNT_PRM_PM" tableName="GRANTED_CONSENT_PROT_MAPPER"/>
+ <addPrimaryKey columnNames="ID" constraintName="CONSTRAINT_GRNTCSNT_PM" tableName="USER_CONSENT"/>
+ <addPrimaryKey columnNames="USER_CONSENT_ID, ROLE_ID" constraintName="CONSTRAINT_GRNTCSNT_ROLE_PM" tableName="USER_CONSENT_ROLE"/>
+ <addPrimaryKey columnNames="USER_CONSENT_ID, PROTOCOL_MAPPER_ID" constraintName="CONSTRAINT_GRNTCSNT_PRM_PM" tableName="USER_CONSENT_PROT_MAPPER"/>
<addForeignKeyConstraint baseColumnNames="REALM_ID" baseTableName="IDENTITY_PROVIDER_MAPPER" constraintName="FK_IDPM_REALM" referencedColumnNames="ID" referencedTableName="REALM"/>
<addForeignKeyConstraint baseColumnNames="IDP_MAPPER_ID" baseTableName="IDP_MAPPER_CONFIG" constraintName="FK_IDPMConfig" referencedColumnNames="ID" referencedTableName="IDENTITY_PROVIDER_MAPPER"/>
- <addForeignKeyConstraint baseColumnNames="USER_ID" baseTableName="GRANTED_CONSENT" constraintName="FK_GRNTCSNT_USER" referencedColumnNames="ID" referencedTableName="USER_ENTITY"/>
- <addForeignKeyConstraint baseColumnNames="GRANTED_CONSENT_ID" baseTableName="GRANTED_CONSENT_ROLE" constraintName="FK_GRNTCSNT_ROLE_GR" referencedColumnNames="ID" referencedTableName="GRANTED_CONSENT"/>
- <addForeignKeyConstraint baseColumnNames="GRANTED_CONSENT_ID" baseTableName="GRANTED_CONSENT_PROT_MAPPER" constraintName="FK_GRNTCSNT_PRM_GR" referencedColumnNames="ID" referencedTableName="GRANTED_CONSENT"/>
+ <addForeignKeyConstraint baseColumnNames="USER_ID" baseTableName="USER_CONSENT" constraintName="FK_GRNTCSNT_USER" referencedColumnNames="ID" referencedTableName="USER_ENTITY"/>
+ <addForeignKeyConstraint baseColumnNames="USER_CONSENT_ID" baseTableName="USER_CONSENT_ROLE" constraintName="FK_GRNTCSNT_ROLE_GR" referencedColumnNames="ID" referencedTableName="USER_CONSENT"/>
+ <addForeignKeyConstraint baseColumnNames="USER_CONSENT_ID" baseTableName="USER_CONSENT_PROT_MAPPER" constraintName="FK_GRNTCSNT_PRM_GR" referencedColumnNames="ID" referencedTableName="USER_CONSENT"/>
<addColumn tableName="CLIENT">
<column name="CONSENT_REQUIRED" type="BOOLEAN" defaultValueBoolean="false">
@@ -101,7 +101,7 @@
<dropUniqueConstraint tableName="KEYCLOAK_ROLE" constraintName="UK_J3RWUVD56ONTGSUHOGM184WW2"/>
<addUniqueConstraint columnNames="NAME,CLIENT_REALM_CONSTRAINT" constraintName="UK_J3RWUVD56ONTGSUHOGM184WW2-2" tableName="KEYCLOAK_ROLE"/>
- <addUniqueConstraint columnNames="CLIENT_ID, USER_ID" constraintName="UK_JKUWUVD56ONTGSUHOGM8UEWRT" tableName="GRANTED_CONSENT"/>
+ <addUniqueConstraint columnNames="CLIENT_ID, USER_ID" constraintName="UK_JKUWUVD56ONTGSUHOGM8UEWRT" tableName="USER_CONSENT"/>
</changeSet>
</databaseChangeLog>
connections/mongo/pom.xml 2(+0 -2)
diff --git a/connections/mongo/pom.xml b/connections/mongo/pom.xml
index 918c3ef..3b0c353 100755
--- a/connections/mongo/pom.xml
+++ b/connections/mongo/pom.xml
@@ -17,12 +17,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/context/MongoStoreInvocationContext.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/context/MongoStoreInvocationContext.java
index c542ffe..272f1c8 100644
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/context/MongoStoreInvocationContext.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/context/MongoStoreInvocationContext.java
@@ -22,6 +22,8 @@ public interface MongoStoreInvocationContext {
void beforeDBSearch(Class<? extends MongoIdentifiableEntity> entityType);
+ void beforeDBBulkUpdateOrRemove(Class<? extends MongoIdentifiableEntity> entityType);
+
void begin();
void commit();
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/MongoStore.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/MongoStore.java
index 36f448c..397c307 100755
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/MongoStore.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/api/MongoStore.java
@@ -24,13 +24,35 @@ public interface MongoStore {
*/
void updateEntity(MongoIdentifiableEntity entity, MongoStoreInvocationContext context);
+ /**
+ * Bulk update of more entities of some type
+ *
+ * @param type
+ * @param query
+ * @param update
+ * @param context
+ * @return count of updated entities
+ */
+ <T extends MongoIdentifiableEntity> int updateEntities(Class<T> type, DBObject query, DBObject update, MongoStoreInvocationContext context);
<T extends MongoIdentifiableEntity> T loadEntity(Class<T> type, String id, MongoStoreInvocationContext context);
<T extends MongoIdentifiableEntity> T loadSingleEntity(Class<T> type, DBObject query, MongoStoreInvocationContext context);
+ /**
+ * @param type
+ * @param query
+ * @param context
+ * @return query result or empty list if no results available for the query. Doesn't return null
+ */
<T extends MongoIdentifiableEntity> List<T> loadEntities(Class<T> type, DBObject query, MongoStoreInvocationContext context);
+ /**
+ * @param type
+ * @param query
+ * @param context
+ * @return query result or empty list if no results available for the query. Doesn't return null
+ */
<T extends MongoIdentifiableEntity> List<T> loadEntities(Class<T> type, DBObject query, DBObject sort, int firstResult, int maxResults, MongoStoreInvocationContext context);
<T extends MongoIdentifiableEntity> int countEntities(Class<T> type, DBObject query, MongoStoreInvocationContext context);
@@ -39,7 +61,16 @@ public interface MongoStore {
boolean removeEntity(Class<? extends MongoIdentifiableEntity> type, String id, MongoStoreInvocationContext context);
- boolean removeEntities(Class<? extends MongoIdentifiableEntity> type, DBObject query, MongoStoreInvocationContext context);
+ /**
+ *
+ * @param type
+ * @param query
+ * @param callback if true, then store will first load all entities, then call "afterRemove" for every entity. If false, the entities are removed directly without load and calling "afterRemove" callback
+ * false has better performance (especially if we are going to remove big number of entities)
+ * @param context
+ * @return count of removed entities
+ */
+ int removeEntities(Class<? extends MongoIdentifiableEntity> type, DBObject query, boolean callback, MongoStoreInvocationContext context);
<S> boolean pushItemToList(MongoIdentifiableEntity entity, String listPropertyName, S itemToPush, boolean skipIfAlreadyPresent, MongoStoreInvocationContext context);
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
index 138955b..0ef0069 100755
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/DefaultMongoConnectionFactoryProvider.java
@@ -38,7 +38,8 @@ public class DefaultMongoConnectionFactoryProvider implements MongoConnectionPro
"org.keycloak.models.sessions.mongo.entities.MongoUserSessionEntity",
"org.keycloak.models.sessions.mongo.entities.MongoClientSessionEntity",
"org.keycloak.models.entities.UserFederationProviderEntity",
- "org.keycloak.models.entities.ProtocolMapperEntity"
+ "org.keycloak.models.entities.ProtocolMapperEntity",
+ "org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity"
};
private static final Logger logger = Logger.getLogger(DefaultMongoConnectionFactoryProvider.class);
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/SimpleMongoStoreInvocationContext.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/SimpleMongoStoreInvocationContext.java
index 0ecffc6..868805b 100644
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/SimpleMongoStoreInvocationContext.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/SimpleMongoStoreInvocationContext.java
@@ -46,6 +46,10 @@ public class SimpleMongoStoreInvocationContext implements MongoStoreInvocationCo
}
@Override
+ public void beforeDBBulkUpdateOrRemove(Class<? extends MongoIdentifiableEntity> entityType) {
+ }
+
+ @Override
public void begin() {
}
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/TransactionMongoStoreInvocationContext.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/TransactionMongoStoreInvocationContext.java
index 39cf9eb..117f07f 100644
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/TransactionMongoStoreInvocationContext.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/context/TransactionMongoStoreInvocationContext.java
@@ -50,10 +50,6 @@ public class TransactionMongoStoreInvocationContext implements MongoStoreInvocat
@Override
public void addUpdateTask(MongoIdentifiableEntity entityToUpdate, MongoTask task) {
- if (!loadedObjects.containsValue(entityToUpdate)) {
- throw new IllegalStateException("Entity " + entityToUpdate + " not found in loaded objects");
- }
-
Set<MongoTask> currentObjectTasks = pendingUpdateTasks.get(entityToUpdate);
if (currentObjectTasks == null) {
currentObjectTasks = new LinkedHashSet<MongoTask>();
@@ -107,6 +103,24 @@ public class TransactionMongoStoreInvocationContext implements MongoStoreInvocat
}
@Override
+ public void beforeDBBulkUpdateOrRemove(Class<? extends MongoIdentifiableEntity> entityType) {
+ beforeDBSearch(entityType);
+ Set<String> toRemove = new HashSet<String>();
+
+ for (Map.Entry<String, MongoIdentifiableEntity> entry : loadedObjects.entrySet()) {
+ MongoIdentifiableEntity entity = entry.getValue();
+ if (entity.getClass().equals(entityType)) {
+ toRemove.add(entry.getKey());
+ }
+ }
+
+ // Now remove all loadedObjects
+ for (String objectId : toRemove) {
+ loadedObjects.remove(objectId);
+ }
+ }
+
+ @Override
public void begin() {
loadedObjects.clear();
pendingUpdateTasks.clear();
diff --git a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
index aded77e..1696b65 100755
--- a/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
+++ b/connections/mongo/src/main/java/org/keycloak/connections/mongo/impl/MongoStoreImpl.java
@@ -7,6 +7,7 @@ import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoException;
+import com.mongodb.WriteResult;
import org.jboss.logging.Logger;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoEntity;
@@ -127,7 +128,7 @@ public class MongoStoreImpl implements MongoStore {
throw convertException(e);
}
- // Treat object as created in this transaction (It is already submited to transaction)
+ // Treat object as created in this transaction (It is already submitted to transaction)
context.addCreatedEntity(entity);
}
@@ -170,6 +171,16 @@ public class MongoStoreImpl implements MongoStore {
context.addUpdateTask(entity, fullUpdateTask);
}
+ @Override
+ public <T extends MongoIdentifiableEntity> int updateEntities(Class<T> type, DBObject query, DBObject update, MongoStoreInvocationContext context) {
+ context.beforeDBBulkUpdateOrRemove(type);
+
+ DBCollection collection = getDBCollectionForType(type);
+ WriteResult wr = collection.update(query, update, false, true);
+
+ logger.debugf("Updated %d collections of type %s", wr.getN(), type);
+ return wr.getN();
+ }
@Override
public <T extends MongoIdentifiableEntity> T loadEntity(Class<T> type, String id, MongoStoreInvocationContext context) {
@@ -275,19 +286,32 @@ public class MongoStoreImpl implements MongoStore {
@Override
- public boolean removeEntities(Class<? extends MongoIdentifiableEntity> type, DBObject query, MongoStoreInvocationContext context) {
- List<? extends MongoIdentifiableEntity> foundObjects = loadEntities(type, query, context);
- if (foundObjects.size() == 0) {
- return false;
+ public int removeEntities(Class<? extends MongoIdentifiableEntity> type, DBObject query, boolean callback, MongoStoreInvocationContext context) {
+ if (callback) {
+ List<? extends MongoIdentifiableEntity> foundObjects = loadEntities(type, query, context);
+ if (foundObjects.size() == 0) {
+ return 0;
+ } else {
+ DBCollection dbCollection = getDBCollectionForType(type);
+ dbCollection.remove(query);
+
+ logger.debugf("Removed %d entities of type: %s, query: %s", foundObjects.size(), type, query);
+
+ for (MongoIdentifiableEntity found : foundObjects) {
+ context.addRemovedEntity(found);;
+ }
+ return foundObjects.size();
+ }
} else {
+
+ context.beforeDBBulkUpdateOrRemove(type);
+
DBCollection dbCollection = getDBCollectionForType(type);
- dbCollection.remove(query);
- //logger.debug("Removed %d" + foundObjects.size() + " entities of type: " + type + ", query: " + query);
+ WriteResult writeResult = dbCollection.remove(query);
+ int removedCount = writeResult.getN();
- for (MongoIdentifiableEntity found : foundObjects) {
- context.addRemovedEntity(found);;
- }
- return true;
+ logger.debugf("Removed directly %d entities of type: %s, query: %s", removedCount, type, query);
+ return removedCount;
}
}
connections/mongo-update/pom.xml 3(+0 -3)
diff --git a/connections/mongo-update/pom.xml b/connections/mongo-update/pom.xml
index 18522fd..a59eff5 100755
--- a/connections/mongo-update/pom.xml
+++ b/connections/mongo-update/pom.xml
@@ -17,17 +17,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
diff --git a/connections/mongo-update/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_RC1.java b/connections/mongo-update/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_RC1.java
index c980067..8ee4db3 100644
--- a/connections/mongo-update/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_RC1.java
+++ b/connections/mongo-update/src/main/java/org/keycloak/connections/mongo/updater/impl/updates/Update1_2_0_RC1.java
@@ -22,6 +22,7 @@ public class Update1_2_0_RC1 extends Update {
db.getCollection("realms").update(new BasicDBObject(), new BasicDBObject("$rename", new BasicDBObject("adminAppId", "clientId")), false, true);
+ ensureIndex("userConsents", new String[]{"clientId", "userId"}, true, false);
}
private void convertApplicationsToClients() {
core/pom.xml 6(+0 -6)
diff --git a/core/pom.xml b/core/pom.xml
index 5e34dd9..497505a 100755
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -56,12 +56,6 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>com.nimbusds</groupId>
- <artifactId>nimbus-jose-jwt</artifactId>
- <version>3.9</version>
- <scope>test</scope>
- </dependency>
</dependencies>
<build>
<resources>
diff --git a/core/src/main/java/org/keycloak/representations/idm/UserConsentRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/UserConsentRepresentation.java
new file mode 100644
index 0000000..113ba84
--- /dev/null
+++ b/core/src/main/java/org/keycloak/representations/idm/UserConsentRepresentation.java
@@ -0,0 +1,28 @@
+package org.keycloak.representations.idm;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class UserConsentRepresentation {
+
+ protected List<String> grantedRoles; // points to roleIds
+ protected List<String> grantedProtocolMappers; // points to protocolMapperIds
+
+ public List<String> getGrantedRoles() {
+ return grantedRoles;
+ }
+
+ public void setGrantedRoles(List<String> grantedRoles) {
+ this.grantedRoles = grantedRoles;
+ }
+
+ public List<String> getGrantedProtocolMappers() {
+ return grantedProtocolMappers;
+ }
+
+ public void setGrantedProtocolMappers(List<String> grantedProtocolMappers) {
+ this.grantedProtocolMappers = grantedProtocolMappers;
+ }
+}
diff --git a/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
index 94a90d9..b9716d3 100755
--- a/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
+++ b/core/src/main/java/org/keycloak/representations/idm/UserRepresentation.java
@@ -27,6 +27,7 @@ public class UserRepresentation {
protected List<FederatedIdentityRepresentation> federatedIdentities;
protected List<String> realmRoles;
protected Map<String, List<String>> clientRoles;
+ protected Map<String, UserConsentRepresentation> clientConsents;
@Deprecated
protected Map<String, List<String>> applicationRoles;
@@ -176,6 +177,14 @@ public class UserRepresentation {
this.clientRoles = clientRoles;
}
+ public Map<String, UserConsentRepresentation> getClientConsents() {
+ return clientConsents;
+ }
+
+ public void setClientConsents(Map<String, UserConsentRepresentation> clientConsents) {
+ this.clientConsents = clientConsents;
+ }
+
@Deprecated
public Map<String, List<String>> getApplicationRoles() {
return applicationRoles;
diff --git a/core/src/test/java/org/keycloak/jose/jwk/JWKBuilderTest.java b/core/src/test/java/org/keycloak/jose/jwk/JWKBuilderTest.java
index 7b6a861..52a0c1f 100644
--- a/core/src/test/java/org/keycloak/jose/jwk/JWKBuilderTest.java
+++ b/core/src/test/java/org/keycloak/jose/jwk/JWKBuilderTest.java
@@ -1,21 +1,12 @@
package org.keycloak.jose.jwk;
-import com.nimbusds.jose.jwk.RSAKey;
import org.junit.Test;
-import org.keycloak.jose.jws.Algorithm;
-import org.keycloak.util.Base64Url;
import org.keycloak.util.JsonSerialization;
-import sun.security.rsa.RSAPublicKeyImpl;
-import java.math.BigInteger;
-import java.security.KeyFactory;
-import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.PublicKey;
-import java.security.interfaces.RSAPublicKey;
import java.security.spec.InvalidKeySpecException;
-import java.security.spec.RSAPublicKeySpec;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
@@ -46,9 +37,6 @@ public class JWKBuilderTest {
// Parse
assertArrayEquals(publicKey.getEncoded(), JWKParser.create().parse(jwkJson).toPublicKey().getEncoded());
-
- // Parse with 3rd party lib
- assertArrayEquals(publicKey.getEncoded(), RSAKey.parse(jwkJson).toRSAPublicKey().getEncoded());
}
@Test
core-jaxrs/pom.xml 1(+0 -1)
diff --git a/core-jaxrs/pom.xml b/core-jaxrs/pom.xml
index d2c6a70..4b6a3ea 100755
--- a/core-jaxrs/pom.xml
+++ b/core-jaxrs/pom.xml
@@ -22,7 +22,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
dependencies/server-all/pom.xml 37(+0 -37)
diff --git a/dependencies/server-all/pom.xml b/dependencies/server-all/pom.xml
index d124ea5..a2e0695 100755
--- a/dependencies/server-all/pom.xml
+++ b/dependencies/server-all/pom.xml
@@ -18,100 +18,81 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-min</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa-liquibase</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-infinispan</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-file</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-sessions-mem</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-sessions-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-sessions-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-sessions-infinispan</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-infinispan</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-jboss-logging</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-email</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- identity providers -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-saml</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-github</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-google</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-twitter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
@@ -120,69 +101,52 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-facebook</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-linkedin</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-stackoverflow</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- ldap federation api -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- saml -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
- <!--
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-federation</artifactId>
- </dependency>
- -->
<!-- mongo -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo-update</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
@@ -193,7 +157,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-zip</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>de.idyl</groupId>
dependencies/server-min/pom.xml 23(+0 -23)
diff --git a/dependencies/server-min/pom.xml b/dependencies/server-min/pom.xml
index 55ceeae..aa886a6 100755
--- a/dependencies/server-min/pom.xml
+++ b/dependencies/server-min/pom.xml
@@ -18,7 +18,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>net.iharder</groupId>
@@ -35,12 +34,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core-jaxrs</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -49,46 +46,38 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-model</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-jboss-logging</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-js-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- social -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- forms -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
@@ -97,66 +86,54 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-themes</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-account-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-account-freemarker</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-freemarker</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-login-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-login-freemarker</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- timer -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-timer-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-timer-basic</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- export/import -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-dir</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-single-file</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
distribution/modules/build.xml 47(+1 -46)
diff --git a/distribution/modules/build.xml b/distribution/modules/build.xml
index df4bef5..091cf96 100755
--- a/distribution/modules/build.xml
+++ b/distribution/modules/build.xml
@@ -267,6 +267,7 @@
</module-def>
<!-- file -->
+
<module-def name="org.keycloak.keycloak-model-file">
<maven-resource group="org.keycloak" artifact="keycloak-model-file"/>
</module-def>
@@ -306,23 +307,10 @@
<maven-resource group="org.liquibase" artifact="liquibase-core"/>
</module-def>
-
-
-
-
-
<!-- subsystems -->
<module-def name="org.keycloak.keycloak-server"></module-def>
- <module-def name="org.jboss.aesh">
- <maven-resource group="org.jboss.aesh" artifact="aesh"/>
- </module-def>
-
- <module-def name="org.jboss.as.cli">
- <maven-resource group="org.wildfly.core" artifact="wildfly-cli"/>
- </module-def>
-
<module-def name="org.keycloak.keycloak-adapter-core">
<maven-resource group="org.keycloak" artifact="keycloak-adapter-core"/>
</module-def>
@@ -350,39 +338,6 @@
<module-def name="org.keycloak.keycloak-as7-subsystem">
<maven-resource group="org.keycloak" artifact="keycloak-as7-subsystem"/>
</module-def>
- <module-def name="org.picketlink">
- </module-def>
- <module-def name="org.picketlink.common">
- <maven-resource group="org.picketlink" artifact="picketlink-common"/>
- </module-def>
- <module-def name="org.picketlink.config">
- <maven-resource group="org.picketlink" artifact="picketlink-config"/>
- </module-def>
- <module-def name="org.picketlink.core">
- <maven-resource group="org.picketlink" artifact="picketlink-impl"/>
- </module-def>
- <module-def name="org.picketlink.core.api">
- <maven-resource group="org.picketlink" artifact="picketlink-api"/>
- </module-def>
- <module-def name="org.picketlink.federation">
- <maven-resource group="org.picketlink" artifact="picketlink-federation"/>
- </module-def>
- <module-def name="org.picketlink.federation.bindings">
- <maven-resource group="org.picketlink" artifact="picketlink-wildfly-common"/>
- <maven-resource group="org.picketlink" artifact="picketlink-tomcat-common"/>
- <maven-resource group="org.picketlink" artifact="picketlink-tomcat5-single"/>
- <maven-resource group="org.picketlink" artifact="picketlink-jbas-common"/>
- <maven-resource group="org.picketlink" artifact="picketlink-jbas7-single"/>
- </module-def>
- <module-def name="org.picketlink.idm">
- <maven-resource group="org.picketlink" artifact="picketlink-idm-impl"/>
- </module-def>
- <module-def name="org.picketlink.idm.api">
- <maven-resource group="org.picketlink" artifact="picketlink-idm-api"/>
- </module-def>
- <module-def name="org.picketlink.idm.schema">
- <maven-resource group="org.picketlink" artifact="picketlink-idm-simple-schema"/>
- </module-def>
</target>
<target name="clean-target">
distribution/modules/pom.xml 81(+0 -81)
diff --git a/distribution/modules/pom.xml b/distribution/modules/pom.xml
index e95c8ee..5da3a2e 100755
--- a/distribution/modules/pom.xml
+++ b/distribution/modules/pom.xml
@@ -20,131 +20,53 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-wildfly-extensions</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core-jaxrs</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jboss-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-wildfly-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-subsystem</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak.subsystem</groupId>
<artifactId>keycloak-server</artifactId>
- <version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-subsystem</artifactId>
- <version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.wildfly.core</groupId>
- <artifactId>wildfly-cli</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-federation</artifactId>
- </dependency>
-
- <!-- Wildfly federation binding -->
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-wildfly-common</artifactId>
- </dependency>
-
- <!-- AS7/EAP6 federation binding -->
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-tomcat-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-tomcat5-single</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-jbas-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-jbas7-single</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-simple-schema</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-config</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-api</artifactId>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-impl</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.aesh</groupId>
- <artifactId>aesh</artifactId>
- </dependency>
-
</dependencies>
<build>
@@ -159,7 +81,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
- <version>1.7</version>
<inherited>false</inherited>
<executions>
<execution>
@@ -213,7 +134,6 @@
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
<executions>
<execution>
<id>assemble</id>
@@ -251,7 +171,6 @@
<artifactItem>
<groupId>org.keycloak.subsystem</groupId>
<artifactId>keycloak-server</artifactId>
- <version>${project.version}</version>
<type>war</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/modules/org/keycloak/keycloak-subsystem/main/auth-server</outputDirectory>
diff --git a/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-saml-protocol/main/module.xml b/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-saml-protocol/main/module.xml
index 687cb6b..45a63fa 100755
--- a/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-saml-protocol/main/module.xml
+++ b/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-saml-protocol/main/module.xml
@@ -20,7 +20,6 @@
<module name="org.jboss.logging"/>
<module name="javax.ws.rs.api"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
- <module name="org.jboss.resteasy.resteasy-crypto"/>
<module name="org.jboss.resteasy.resteasy-multipart-provider"/>
<module name="javax.api"/>
diff --git a/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml b/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
index 9864a07..e6fe0ba 100755
--- a/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
+++ b/distribution/modules/src/main/resources/modules/org/keycloak/keycloak-services/main/module.xml
@@ -65,7 +65,6 @@
<module name="javax.ws.rs.api"/>
<module name="org.jboss.resteasy.resteasy-jaxrs"/>
- <module name="org.jboss.resteasy.resteasy-crypto"/>
<module name="org.jboss.resteasy.resteasy-multipart-provider"/>
<module name="javax.servlet.api"/>
<module name="org.codehaus.jackson.jackson-core-asl"/>
distribution/pom.xml 24(+6 -18)
diff --git a/distribution/pom.xml b/distribution/pom.xml
index a501572..16cc9be 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -6,7 +6,7 @@
<version>1.2.0.RC1-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
- <name>Distribution</name>
+ <name>Distribution Parent</name>
<description/>
<modelVersion>4.0.0</modelVersion>
@@ -25,25 +25,13 @@
</plugins>
</build>
<modules>
+ <module>adapters</module>
<module>subsystem-war</module>
<module>modules</module>
- <module>as7-adapter-zip</module>
- <module>tomcat6-adapter-zip</module>
- <module>tomcat7-adapter-zip</module>
- <module>tomcat8-adapter-zip</module>
- <module>eap6-adapter-zip</module>
- <module>wildfly-adapter-zip</module>
- <module>jetty81-adapter-zip</module>
- <module>jetty91-adapter-zip</module>
- <module>jetty92-adapter-zip</module>
- <module>js-adapter-zip</module>
- <module>examples-docs-zip</module>
- <module>theme-template-zip</module>
- <module>war-zip</module>
- <module>war-dist</module>
- <module>osgi</module>
- <module>proxy</module>
- <module>appliance-dist</module>
+ <module>examples-dist</module>
+ <module>proxy-dist</module>
<module>src-dist</module>
+ <module>server-overlay</module>
+ <module>server-dist</module>
</modules>
</project>
distribution/server-bundle-dist/assembly.xml 27(+27 -0)
diff --git a/distribution/server-bundle-dist/assembly.xml b/distribution/server-bundle-dist/assembly.xml
new file mode 100755
index 0000000..1b4b994
--- /dev/null
+++ b/distribution/server-bundle-dist/assembly.xml
@@ -0,0 +1,27 @@
+<assembly>
+ <id>server-bundle-dist</id>
+
+ <formats>
+ <format>zip</format>
+ <format>tar.gz</format>
+ <format>dir</format>
+ </formats>
+ <includeBaseDirectory>true</includeBaseDirectory>
+
+ <dependencySets>
+ <dependencySet>
+ <includes>
+ <include>org.keycloak:keycloak-server-dist:zip</include>
+ </includes>
+ <outputDirectory></outputDirectory>
+ <unpack>true</unpack>
+ </dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.keycloak:keycloak-examples-dist:zip</include>
+ </includes>
+ <outputDirectory></outputDirectory>
+ <unpack>true</unpack>
+ </dependencySet>
+ </dependencySets>
+</assembly>
distribution/server-dist/assembly.xml 47(+47 -0)
diff --git a/distribution/server-dist/assembly.xml b/distribution/server-dist/assembly.xml
new file mode 100755
index 0000000..8cbea2d
--- /dev/null
+++ b/distribution/server-dist/assembly.xml
@@ -0,0 +1,47 @@
+<assembly>
+ <id>server-dist</id>
+
+ <formats>
+ <format>zip</format>
+ <format>tar.gz</format>
+ </formats>
+
+ <includeBaseDirectory>true</includeBaseDirectory>
+
+ <fileSets>
+ <fileSet>
+ <directory>${project.build.directory}/unpacked/wildfly-${wildfly.version}</directory>
+ <outputDirectory></outputDirectory>
+ <excludes>
+ <exclude>**/*.sh</exclude>
+ <exclude>welcome-content/**</exclude>
+ <exclude>docs/**</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.build.directory}/unpacked/wildfly-${wildfly.version}</directory>
+ <outputDirectory></outputDirectory>
+ <includes>
+ <include>**/*.sh</include>
+ </includes>
+ <fileMode>0755</fileMode>
+ </fileSet>
+ <fileSet>
+ <directory>src/main/welcome-content</directory>
+ <outputDirectory>welcome-content</outputDirectory>
+ <includes>
+ <include>*.*</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+
+ <dependencySets>
+ <dependencySet>
+ <includes>
+ <include>org.keycloak:keycloak-server-overlay:zip</include>
+ </includes>
+ <outputDirectory></outputDirectory>
+ <unpack>true</unpack>
+ </dependencySet>
+ </dependencySets>
+</assembly>
distribution/server-overlay/pom.xml 123(+123 -0)
diff --git a/distribution/server-overlay/pom.xml b/distribution/server-overlay/pom.xml
new file mode 100755
index 0000000..a4ef9a0
--- /dev/null
+++ b/distribution/server-overlay/pom.xml
@@ -0,0 +1,123 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>keycloak-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>keycloak-server-overlay</artifactId>
+ <packaging>pom</packaging>
+ <name>Keycloak Server Overlay</name>
+ <description/>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jboss-modules</artifactId>
+ <type>zip</type>
+ </dependency>
+ <dependency>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-dist</artifactId>
+ <type>zip</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>keycloak-overlay-${project.version}</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-standalone-xml</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-dist</artifactId>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/unpacked</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ <includes>**/standalone*.xml</includes>
+ </configuration>
+ </execution>
+ <execution>
+ <id>unpack-module</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jboss-modules</artifactId>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/unpacked/modules</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>generate-resources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration</dir>
+ <stylesheet>src/main/xslt/standalone.xsl</stylesheet>
+ <includes>
+ <include>standalone*.xml</include>
+ </includes>
+ <outputDir>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration</outputDir>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>assemble</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>assembly.xml</descriptor>
+ </descriptors>
+ <outputDirectory>target</outputDirectory>
+ <workDirectory>target/assembly/work</workDirectory>
+ <appendAssemblyId>false</appendAssemblyId>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/distribution/server-overlay/src/main/providers/README.txt b/distribution/server-overlay/src/main/providers/README.txt
new file mode 100644
index 0000000..a6d523b
--- /dev/null
+++ b/distribution/server-overlay/src/main/providers/README.txt
@@ -0,0 +1,2 @@
+Any provider implementation jars and libraries in this folder will be loaded by Keycloak. See the providers
+section in the documentation for more details.
\ No newline at end of file
diff --git a/distribution/server-overlay/src/main/themes/README.txt b/distribution/server-overlay/src/main/themes/README.txt
new file mode 100644
index 0000000..705b73a
--- /dev/null
+++ b/distribution/server-overlay/src/main/themes/README.txt
@@ -0,0 +1,3 @@
+Themes to configure the look and feel of login pages and account management console. It's not recommended to
+modify existing the built-in themes, instead you should create a new theme that extends a built-in theme. See the theme
+section in the documentation for more details.
\ No newline at end of file
diff --git a/distribution/server-overlay/src/main/xslt/standalone.xsl b/distribution/server-overlay/src/main/xslt/standalone.xsl
new file mode 100755
index 0000000..8973a4d
--- /dev/null
+++ b/distribution/server-overlay/src/main/xslt/standalone.xsl
@@ -0,0 +1,89 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ xmlns:j="urn:jboss:domain:1.3"
+ version="2.0"
+ exclude-result-prefixes="xalan j">
+
+ <xsl:param name="config"/>
+
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
+ <xsl:strip-space elements="*"/>
+
+ <xsl:template match="node()[name(.)='extensions']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <extension module="org.keycloak.keycloak-subsystem"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="node()[name(.)='datasources']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='datasource']"/>
+ <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
+ <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
+ <driver>h2</driver>
+ <security>
+ <user-name>sa</user-name>
+ <password>sa</password>
+ </security>
+ </datasource>
+ <xsl:apply-templates select="node()[name(.)='drivers']"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="node()[name(.)='profile']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <subsystem xmlns="urn:jboss:domain:keycloak:1.0">
+ <auth-server name="main-auth-server">
+ <enabled>true</enabled>
+ <web-context>auth</web-context>
+ </auth-server>
+ </subsystem>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="node()[name(.)='security-domains']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='security-domain']"/>
+ <security-domain name="keycloak">
+ <authentication>
+ <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
+ </authentication>
+ </security-domain>
+ <security-domain name="sp" cache-type="default">
+ <authentication>
+ <login-module code="org.picketlink.identity.federation.bindings.wildfly.SAML2LoginModule" flag="required"/>
+ </authentication>
+ </security-domain>
+ </xsl:copy>
+ </xsl:template>
+
+
+ <!-- for some reason, Wildfly 8 final decided to turn off management-native which means jboss-as-maven-plugin no
+ longer works -->
+ <xsl:template match="node()[name(.)='management-interfaces']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <native-interface security-realm="ManagementRealm">
+ <socket-binding native="management-native"/>
+ </native-interface>
+ </xsl:copy>
+ </xsl:template>
+
+ <!-- for some reason, Wildfly 8 final decided to turn off management-native which means jboss-as-maven-plugin no
+ longer works -->
+ <xsl:template match="node()[name(.)='socket-binding-group']">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <socket-binding name="management-native" interface="management" port="9999"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()" />
+ </xsl:copy>
+ </xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
distribution/src-dist/pom.xml 4(+1 -3)
diff --git a/distribution/src-dist/pom.xml b/distribution/src-dist/pom.xml
index 65ffb24..37775f4 100755
--- a/distribution/src-dist/pom.xml
+++ b/distribution/src-dist/pom.xml
@@ -13,9 +13,8 @@
<name>Keycloak Source Distribution</name>
<description/>
- <dependencies>
- </dependencies>
<build>
+ <finalName>keycloak-src-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -26,7 +25,6 @@
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
- <version>2.4</version>
<executions>
<execution>
<id>assemble</id>
diff --git a/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml b/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
index aae18bf..44ecae0 100755
--- a/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
+++ b/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
@@ -55,8 +55,7 @@
<module name="org.bouncycastle"/>
<module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/>
- <module name="org.codehaus.jackson.jackson-core-asl"/>
- <module name="org.codehaus.jackson.jackson-mapper-asl"/>
+ <module name="org.jboss.resteasy.resteasy-jaxrs"/>
</dependencies>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson2-provider"/>
@@ -69,6 +68,7 @@
</exclusions>
<exclude-subsystems>
<subsystem name="webservices"/>
+ <subsystem name="weld"/>
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
\ No newline at end of file
diff --git a/docbook/reference/en/en-US/modules/server-installation.xml b/docbook/reference/en/en-US/modules/server-installation.xml
index 223c330..5b4b043 100755
--- a/docbook/reference/en/en-US/modules/server-installation.xml
+++ b/docbook/reference/en/en-US/modules/server-installation.xml
@@ -8,21 +8,21 @@
<itemizedlist>
<listitem>
- keycloak-appliance-dist-all-&project.version;.zip
+ keycloak-&project.version;.zip
</listitem>
<listitem>
- keycloak-war-dist-all-&project.version;.zip
+ keycloak-overlay-&project.version;.zip
</listitem>
</itemizedlist>
</para>
- <section id="Appliance_install">
- <title>Appliance Install</title>
+ <section id="server_install">
+ <title>Server Install</title>
<para>
The
- <literal>keycloak-appliance-dist-all-&project.version;.zip</literal>
+ <literal>keycloak-&project.version;.zip</literal>
is quite large, but contains a complete server (backed by Wildfly)
that runs out of the box. The only thing you'll have to enable and configure is SSL. Unzipping it, the
directory layout looks
@@ -31,15 +31,13 @@
<para>
<programlisting>
-keycloak-appliance-dist-all-&project.version;/
- keycloak/
- bin/
- standalone.sh
- standalone.bat
- standalone/configuration/
- keycloak-server.json
- themes/
- examples/
+keycloak-&project.version;/
+ bin/
+ standalone.sh
+ standalone.bat
+ standalone/configuration/
+ keycloak-server.json
+ themes/
docs/
</programlisting>
</para>
@@ -58,51 +56,32 @@ keycloak-appliance-dist-all-&project.version;/
</para>
</section>
<section id="WAR_distribution_installation">
- <title>WAR Distribution Installation</title>
+ <title>Server Overlay Installation</title>
<para>
The
- <literal>keycloak-war-dist-all-&project.version;.zip</literal>
+ <literal>keycloak-overlay-&project.version;.zip</literal>
contains
- just the bits you need to install keycloak on your favorite web container. We currently only support
- installing it on top of an existing Wildfly 8 or JBoss EAP 6.x distribution. We may in the
- future provide directions on how to install it on another web container like Tomcat or Jetty. If anybody
- in the community is interested in pulling this together, please contact us. Its mostly Maven pom work.
+ just the bits you need to install keycloak on an existing WildFly 8.2.0.Final installation.
</para>
<para>
The directory structure of this distro looks like this:
</para>
<para>
<programlisting>
-keycloak-war-dist-all-&project.version;/
- deployments/
- auth-server.war/
- keycloak-ds.xml
- configuration/
- keycloak-server.json
- themes/
- examples/
+ standalone/
+ configuration/
+ keycloak-server.json
+ themes/
+ providers/
+ modules
docs/
</programlisting>
</para>
<para>
- After unzipping this file, copy everything in <literal>deployments</literal> directory into the
- <literal>standalone/deployments</literal> of your JBoss or Wildfly distro. Also, copy everything in
- <literal>configuration</literal> directory into the <literal>standalone/configuration</literal> directory.
+ Unzip this archive into the root of your WildFly installation.
</para>
<para>
-<programlisting>
- $ cd keycloak-war-dist-all-&project.version;
- $ cp -r deployments $JBOSS_HOME/standalone/deployments
- $ cp -r configuration $JBOSS_HOME/standalone/configuration
-</programlisting>
- </para>
- <para>
- After these steps you MUST then <link linkend='jboss-adapter-installation'>download and install the client adapter</link>
- as this may contain modules the server needs (like Bouncycastle). You will also need to install the adapter
- to run the examples on the same server.
- </para>
- <para>
- After booting up the JBoss or Wildfly distro, you can then make sure it is installed properly
+ After booting up the Wildfly distro, you can then make sure it is installed properly
by logging into the admin console at<ulink
url="http://localhost:8080/auth/admin/index.html">
http://localhost:8080/auth/admin/index.html</ulink>.
@@ -110,9 +89,6 @@ keycloak-war-dist-all-&project.version;/
Password: <emphasis>admin</emphasis>. Keycloak will then prompt you to
enter in a new password.
</para>
- <para>
- You can no longer run Keycloak on JBoss AS 7.1.1. You must run on EAP 6.x or Wildfly.
- </para>
</section>
<section>
<title id="configure-server">Configuring the Server</title>
@@ -137,56 +113,12 @@ keycloak-war-dist-all-&project.version;/
<section>
<title>Relational Database Configuration</title>
<para>
- By default, Keycloak uses a relational database to store Keycloak data. This datasource is the <literal>standalone/deployments/keycloak-ds.xml</literal>
- file of your Keycloak Server installation if you used <xref linkend="WAR_distribution_installation" /> or in <literal>standalone/configuration/standalone.xml</literal>
- if you used <xref linkend="Appliance_install" />. File <literal>keycloak-ds.xml</literal> is used in WAR
- distribution, so that you have datasource available out of the box and you don't need to edit <literal>standalone.xml</literal> file.
- However a good thing is to always delete the file <literal>keycloak-ds.xml</literal> and move its configuration text
- into the centrally managed <literal>standalone.xml</literal> file.
- This will allow you to manage the database connection pool from the Wildfly/JBoss administration console. Here's what
- <literal>standalone/configuration/standalone.xml</literal> should look like after you've done this:
- </para>
- <para>
-<programlisting><![CDATA[
-<subsystem xmlns="urn:jboss:domain:datasources:2.0">
- <datasources>
- <datasource jndi-name="java:jboss/datasources/ExampleDS"
- pool-name="ExampleDS" enabled="true" use-java-context="true">
- <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
- <driver>h2</driver>
- <security>
- <user-name>sa</user-name>
- <password>sa</password>
- </security>
- </datasource>
- <datasource jndi-name="java:jboss/datasources/KeycloakDS"
- pool-name="KeycloakDS" enabled="true" use-java-context="true">
- <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
- <driver>h2</driver>
- <security>
- <user-name>sa</user-name>
- <password>sa</password>
- </security>
- </datasource>
- <drivers>
- <driver name="h2" module="com.h2database.h2">
- <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
- </driver>
- </drivers>
- </datasources>
-</subsystem>
-]]>
-</programlisting>
- </para>
- <para>
- Besides moving the database config into the central <literal>standalone.xml</literal> configuration file
- you might want to use a better relational database for Keycloak like PostgreSQL or MySQL. You might also
- want to tweak the configuration settings of the datasource. Please see the <ulink url="https://docs.jboss.org/author/display/WFLY8/DataSource+configuration">Wildfly</ulink>,
- <ulink url="https://docs.jboss.org/author/display/AS71/DataSource+configuration">JBoss AS7</ulink>,
- or <ulink url="https://docs.jboss.org/author/display/AS71/DataSource+configuration">JBoss EAP 6.x</ulink> documentation on how to do this.
+ You might want to use a better relational database for Keycloak like PostgreSQL or MySQL. You might also
+ want to tweak the configuration settings of the datasource. Please see the <ulink url="https://docs.jboss.org/author/display/WFLY8/DataSource+configuration">Wildfly</ulink>
+ documentation on how to do this.
</para>
<para>
- Keycloak also runs on a Hibernate/JPA backend which is configured in the
+ Keycloak runs on a Hibernate/JPA backend which is configured in the
<literal>standalone/configuration/keycloak-server.json</literal>.
By default the setting is like this:
<programlisting><![CDATA[
@@ -463,29 +395,6 @@ All configuration options are optional. Default value for directory is <literal>
</para>
</section>
- <section>
- <title>EAP6.x Logging</title>
- <para>
- Accessing the admin console will get these annoying log messages:
- </para>
-<programlisting>
- WARN [org.jboss.resteasy.core.ResourceLocator] (http-/127.0.0.1:8080-3)
- Field providers of subresource xxx will not be injected according to spec
-
-</programlisting>
-
- <para>
- These can be ignored by editing standalone.xml of your jboss installation:
- </para>
-<programlisting>
-<![CDATA[
- <logger category="org.jboss.resteasy.core.ResourceLocator">
- <level name="ERROR"/>
- </logger>
-]]>
-</programlisting>
- </section>
-
<section id="ssl_modes">
<title>SSL/HTTPS Requirement/Modes</title>
<warning>
@@ -553,7 +462,7 @@ All configuration options are optional. Default value for directory is <literal>
</listitem>
<listitem>
- Enable JBoss or Wildfly to use this certificate and turn on SSL/HTTPS.
+ Enable Wildfly to use this certificate and turn on SSL/HTTPS.
</listitem>
</itemizedlist>
</para>
@@ -674,29 +583,6 @@ All configuration options are optional. Default value for directory is <literal>
Check the <ulink url="https://docs.jboss.org/author/display/WFLY8/Undertow+(web)+subsystem+configuration">Wildfly Undertow</ulink> documentation for more information on fine tuning the socket connections.
</para>
</section>
- <section>
- <title>Installing the keystore to JBoss EAP6</title>
- <para>
- Now that you have a Java keystore with the appropriate certificates, you need to configure your
- JBoss EAP6 installation to use it. First step is to move the keystore file to a directory
- you can reference in configuration. I like to put it in <literal>standalone/configuration</literal>.
- Then you need to edit <literal>standalone/configuration/standalone.xml</literal> to enable SSL/HTTPS.
- </para>
- <para>
-<programlisting><![CDATA[<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
- <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" redirect-port="443" />
- <connector name="https" scheme="https" protocol="HTTP/1.1" socket-binding="https"
- enable-lookups="false" secure="true">
- <ssl name="localhost-ssl" password="secret" protocol="TLSv1"
- key-alias="localhost" certificate-key-file="${jboss.server.config.dir}/keycloak.jks" />
- </connector>
- ...
-</subsystem>]]></programlisting>
- </para>
- <para>
- Check the <ulink url="https://docs.jboss.org/author/display/AS71/SSL+setup+guide">JBoss</ulink> documentation for more information on fine tuning the socket connections.
- </para>
- </section>
</section>
<section>
@@ -710,7 +596,7 @@ All configuration options are optional. Default value for directory is <literal>
</para>
<section>
- <title>WildFly</title>
+ <title>Configure WildFly</title>
<para>
Open <literal>standalone/configuration/standalone.xml</literal> in your favorite editor.
@@ -742,39 +628,6 @@ All configuration options are optional. Default value for directory is <literal>
Check the <ulink url="https://docs.jboss.org/author/display/WFLY8/Undertow+(web)+subsystem+configuration">WildFly</ulink> documentation for more information.
</para>
</section>
-
- <section>
- <title>EAP</title>
-
- <para>
- Open <literal>standalone/configuration/standalone.xml</literal> in your favorite editor.
- </para>
-
- <para>
- You need to add <literal>redirect-port</literal> to http <literal>connector</literal> element and
- add the <literal>RemoteIpValve</literal> valve:
-<programlisting><![CDATA[
-<subsystem xmlns="urn:jboss:domain:web:1.5"
- default-virtual-server="default-host" native="false">
- <connector name="http" protocol="HTTP/1.1" scheme="http"
- socket-binding="http"
- redirect-port="443"/>
- <virtual-server name="default-host" enable-welcome-root="true">
- <alias name="localhost"/>
- <alias name="example.com"/>
- </virtual-server>
- <valve name="remoteipvalve" module="org.jboss.as.web"
- class-name="org.apache.catalina.valves.RemoteIpValve">
- <param param-name="protocolHeader" param-value="x-forwarded-proto"/>
- </valve>
-</subsystem>
-]]></programlisting>
- </para>
-
-
-
- </section>
-
</section>
</section>
events/api/pom.xml 2(+0 -2)
diff --git a/events/api/pom.xml b/events/api/pom.xml
index 7e45caf..bef416b 100755
--- a/events/api/pom.xml
+++ b/events/api/pom.xml
@@ -21,13 +21,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
events/email/pom.xml 4(+0 -4)
diff --git a/events/email/pom.xml b/events/email/pom.xml
index 473831c..8391d5b 100755
--- a/events/email/pom.xml
+++ b/events/email/pom.xml
@@ -16,25 +16,21 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
events/jboss-logging/pom.xml 3(+0 -3)
diff --git a/events/jboss-logging/pom.xml b/events/jboss-logging/pom.xml
index 0f407d4..9a3288d 100755
--- a/events/jboss-logging/pom.xml
+++ b/events/jboss-logging/pom.xml
@@ -21,19 +21,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
events/jpa/pom.xml 5(+0 -5)
diff --git a/events/jpa/pom.xml b/events/jpa/pom.xml
index 888fa05..900ab46 100755
--- a/events/jpa/pom.xml
+++ b/events/jpa/pom.xml
@@ -16,25 +16,21 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -45,7 +41,6 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>${hibernate.entitymanager.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
events/mongo/pom.xml 4(+0 -4)
diff --git a/events/mongo/pom.xml b/events/mongo/pom.xml
index 2d0f5d0..097eb78 100755
--- a/events/mongo/pom.xml
+++ b/events/mongo/pom.xml
@@ -16,25 +16,21 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
events/syslog/pom.xml 4(+0 -4)
diff --git a/events/syslog/pom.xml b/events/syslog/pom.xml
index b6d7d57..91d2fbf 100755
--- a/events/syslog/pom.xml
+++ b/events/syslog/pom.xml
@@ -16,25 +16,21 @@
<dependency>
<groupId>org.syslog4j</groupId>
<artifactId>syslog4j</artifactId>
- <version>${syslog4j.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
examples/admin-client/pom.xml 11(+1 -10)
diff --git a/examples/admin-client/pom.xml b/examples/admin-client/pom.xml
index a2fba00..e0e270f 100755
--- a/examples/admin-client/pom.xml
+++ b/examples/admin-client/pom.xml
@@ -3,10 +3,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Examples - Admin Client</name>
@@ -21,7 +20,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
@@ -42,13 +40,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
</plugins>
</build>
examples/basic-auth/pom.xml 20(+1 -19)
diff --git a/examples/basic-auth/pom.xml b/examples/basic-auth/pom.xml
index 7dd5f91..26d7c7f 100755
--- a/examples/basic-auth/pom.xml
+++ b/examples/basic-auth/pom.xml
@@ -4,10 +4,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Examples - Basic Auth</name>
@@ -40,13 +39,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -74,21 +71,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/broker/facebook-authentication/pom.xml b/examples/broker/facebook-authentication/pom.xml
index e7edbb0..f6884d5 100755
--- a/examples/broker/facebook-authentication/pom.xml
+++ b/examples/broker/facebook-authentication/pom.xml
@@ -4,10 +4,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-broker-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Broker Examples - Facebook Authentication</name>
@@ -43,21 +42,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/broker/google-authentication/pom.xml b/examples/broker/google-authentication/pom.xml
index 8913c7f..6060f3d 100755
--- a/examples/broker/google-authentication/pom.xml
+++ b/examples/broker/google-authentication/pom.xml
@@ -4,10 +4,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-broker-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Broker Examples - Google Authentication</name>
@@ -43,21 +42,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/broker/pom.xml 17(+3 -14)
diff --git a/examples/broker/pom.xml b/examples/broker/pom.xml
index f06b50f..be5e83f 100755
--- a/examples/broker/pom.xml
+++ b/examples/broker/pom.xml
@@ -1,29 +1,18 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Broker Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>examples-broker-pom</artifactId>
+ <artifactId>keycloak-examples-broker-parent</artifactId>
<packaging>pom</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
<modules>
<module>facebook-authentication</module>
<module>google-authentication</module>
diff --git a/examples/broker/saml-broker-authentication/pom.xml b/examples/broker/saml-broker-authentication/pom.xml
index afec533..e3945f5 100755
--- a/examples/broker/saml-broker-authentication/pom.xml
+++ b/examples/broker/saml-broker-authentication/pom.xml
@@ -4,10 +4,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-broker-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Broker Examples - SAML Identity Provider Brokering</name>
@@ -43,21 +42,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/broker/twitter-authentication/pom.xml b/examples/broker/twitter-authentication/pom.xml
index 7bc704f..3e730b7 100755
--- a/examples/broker/twitter-authentication/pom.xml
+++ b/examples/broker/twitter-authentication/pom.xml
@@ -4,10 +4,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-broker-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Broker Examples - Twitter Authentication</name>
@@ -30,7 +29,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.twitter4j</groupId>
@@ -71,21 +69,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/cors/angular-product-app/pom.xml 19(+2 -17)
diff --git a/examples/cors/angular-product-app/pom.xml b/examples/cors/angular-product-app/pom.xml
index f5f220c..204f441 100755
--- a/examples/cors/angular-product-app/pom.xml
+++ b/examples/cors/angular-product-app/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-cors-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>cors-angular-product-example</artifactId>
@@ -31,21 +31,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/cors/database-service/pom.xml 21(+2 -19)
diff --git a/examples/cors/database-service/pom.xml b/examples/cors/database-service/pom.xml
index ea50d10..6daa915 100755
--- a/examples/cors/database-service/pom.xml
+++ b/examples/cors/database-service/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-cors-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>cors-database-service</artifactId>
@@ -37,13 +37,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -71,21 +69,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/cors/pom.xml 19(+5 -14)
diff --git a/examples/cors/pom.xml b/examples/cors/pom.xml
index 8044e2f..7fe7e75 100755
--- a/examples/cors/pom.xml
+++ b/examples/cors/pom.xml
@@ -1,31 +1,22 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Keycloak Examples - CORS</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>cors-exxample-pom</artifactId>
+ <artifactId>keycloak-examples-cors-parent</artifactId>
<packaging>pom</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
<modules>
<module>angular-product-app</module>
<module>database-service</module>
</modules>
+
</project>
diff --git a/examples/demo-template/admin-access-app/pom.xml b/examples/demo-template/admin-access-app/pom.xml
index de3e305..293b79d 100755
--- a/examples/demo-template/admin-access-app/pom.xml
+++ b/examples/demo-template/admin-access-app/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>admin-access-example</artifactId>
@@ -31,13 +31,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -65,21 +63,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/demo-template/angular-product-app/pom.xml b/examples/demo-template/angular-product-app/pom.xml
index 69b4e9c..42c4dd1 100755
--- a/examples/demo-template/angular-product-app/pom.xml
+++ b/examples/demo-template/angular-product-app/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>angular-product-example</artifactId>
@@ -31,21 +31,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/demo-template/customer-app/pom.xml 21(+2 -19)
diff --git a/examples/demo-template/customer-app/pom.xml b/examples/demo-template/customer-app/pom.xml
index a50d9fe..de11a81 100755
--- a/examples/demo-template/customer-app/pom.xml
+++ b/examples/demo-template/customer-app/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-example</artifactId>
@@ -31,13 +31,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -65,21 +63,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/demo-template/customer-app-cli/pom.xml b/examples/demo-template/customer-app-cli/pom.xml
index c86422e..9497042 100755
--- a/examples/demo-template/customer-app-cli/pom.xml
+++ b/examples/demo-template/customer-app-cli/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-cli-example</artifactId>
@@ -18,7 +18,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-installed-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -29,21 +28,6 @@
<build>
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
diff --git a/examples/demo-template/customer-app-js/pom.xml b/examples/demo-template/customer-app-js/pom.xml
index 7c67b07..fc2779a 100755
--- a/examples/demo-template/customer-app-js/pom.xml
+++ b/examples/demo-template/customer-app-js/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-js-example</artifactId>
@@ -31,21 +31,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/demo-template/database-service/pom.xml b/examples/demo-template/database-service/pom.xml
index d68db7e..60a5089 100755
--- a/examples/demo-template/database-service/pom.xml
+++ b/examples/demo-template/database-service/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>database-service</artifactId>
@@ -37,13 +37,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -71,21 +69,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/demo-template/example-ear/pom.xml 13(+2 -11)
diff --git a/examples/demo-template/example-ear/pom.xml b/examples/demo-template/example-ear/pom.xml
index 4673d6b..1f37289 100755
--- a/examples/demo-template/example-ear/pom.xml
+++ b/examples/demo-template/example-ear/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-example-ear</artifactId>
@@ -26,13 +26,11 @@
<dependency>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-example</artifactId>
- <version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>product-portal-example</artifactId>
- <version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
@@ -60,13 +58,6 @@
</modules>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/demo-template/pom.xml 6(+3 -3)
diff --git a/examples/demo-template/pom.xml b/examples/demo-template/pom.xml
index d76a49e..5ef9df3 100755
--- a/examples/demo-template/pom.xml
+++ b/examples/demo-template/pom.xml
@@ -1,16 +1,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>demo-pom</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<packaging>pom</packaging>
<build>
examples/demo-template/product-app/pom.xml 21(+2 -19)
diff --git a/examples/demo-template/product-app/pom.xml b/examples/demo-template/product-app/pom.xml
index 627373b..8b84a93 100755
--- a/examples/demo-template/product-app/pom.xml
+++ b/examples/demo-template/product-app/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>product-portal-example</artifactId>
@@ -31,13 +31,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -65,21 +63,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/demo-template/third-party/pom.xml 22(+2 -20)
diff --git a/examples/demo-template/third-party/pom.xml b/examples/demo-template/third-party/pom.xml
index e33d959..7090aea 100755
--- a/examples/demo-template/third-party/pom.xml
+++ b/examples/demo-template/third-party/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>oauth-client-example</artifactId>
@@ -24,19 +24,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-servlet-oauth-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
@@ -63,21 +60,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
diff --git a/examples/demo-template/third-party-cdi/pom.xml b/examples/demo-template/third-party-cdi/pom.xml
index 5dcdb54..6a5e14b 100755
--- a/examples/demo-template/third-party-cdi/pom.xml
+++ b/examples/demo-template/third-party-cdi/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-demo-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>oauth-client-cdi-example</artifactId>
@@ -42,19 +42,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-servlet-oauth-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
@@ -81,21 +78,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/fuse/camel/pom.xml 20(+2 -18)
diff --git a/examples/fuse/camel/pom.xml b/examples/fuse/camel/pom.xml
index b01d91d..7668102 100755
--- a/examples/fuse/camel/pom.xml
+++ b/examples/fuse/camel/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>camel-endpoint-example</artifactId>
@@ -33,7 +33,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
@@ -56,21 +55,6 @@
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
examples/fuse/customer-app-fuse/pom.xml 21(+2 -19)
diff --git a/examples/fuse/customer-app-fuse/pom.xml b/examples/fuse/customer-app-fuse/pom.xml
index 41378c0..faf9436 100755
--- a/examples/fuse/customer-app-fuse/pom.xml
+++ b/examples/fuse/customer-app-fuse/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>customer-portal-fuse-example</artifactId>
@@ -41,13 +41,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -63,21 +61,6 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
examples/fuse/cxf-jaxrs/pom.xml 19(+2 -17)
diff --git a/examples/fuse/cxf-jaxrs/pom.xml b/examples/fuse/cxf-jaxrs/pom.xml
index a1e5598..b8a6985 100755
--- a/examples/fuse/cxf-jaxrs/pom.xml
+++ b/examples/fuse/cxf-jaxrs/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>cxf-jaxrs-example</artifactId>
@@ -55,21 +55,6 @@
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
examples/fuse/cxf-jaxws/pom.xml 19(+2 -17)
diff --git a/examples/fuse/cxf-jaxws/pom.xml b/examples/fuse/cxf-jaxws/pom.xml
index 2e2f466..f06c9db 100755
--- a/examples/fuse/cxf-jaxws/pom.xml
+++ b/examples/fuse/cxf-jaxws/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>cxf-jaxws-example</artifactId>
@@ -78,21 +78,6 @@
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
examples/fuse/features/pom.xml 11(+2 -9)
diff --git a/examples/fuse/features/pom.xml b/examples/fuse/features/pom.xml
index b4923a8..1450761 100755
--- a/examples/fuse/features/pom.xml
+++ b/examples/fuse/features/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>keycloak-fuse-example-features</artifactId>
@@ -23,13 +23,6 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
examples/fuse/pom.xml 18(+3 -15)
diff --git a/examples/fuse/pom.xml b/examples/fuse/pom.xml
index 6eea11a..30e31bd 100755
--- a/examples/fuse/pom.xml
+++ b/examples/fuse/pom.xml
@@ -1,30 +1,18 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Fuse examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>fuse-pom</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<packaging>pom</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
<modules>
<module>customer-app-fuse</module>
<module>product-app-fuse</module>
examples/fuse/product-app-fuse/pom.xml 21(+2 -19)
diff --git a/examples/fuse/product-app-fuse/pom.xml b/examples/fuse/product-app-fuse/pom.xml
index 4b07d22..9523a35 100755
--- a/examples/fuse/product-app-fuse/pom.xml
+++ b/examples/fuse/product-app-fuse/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-fuse-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>product-portal-fuse-example</artifactId>
@@ -41,14 +41,12 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- Dependency for jaxws client to allow sending request to jaxws endpoint provided by cxf-jaxws-example -->
<dependency>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>cxf-jaxws-example</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
@@ -57,21 +55,6 @@
<plugins>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
- <plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
examples/js-console/pom.xml 19(+2 -17)
diff --git a/examples/js-console/pom.xml b/examples/js-console/pom.xml
index 3301258..13419a7 100755
--- a/examples/js-console/pom.xml
+++ b/examples/js-console/pom.xml
@@ -2,11 +2,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<modelVersion>4.0.0</modelVersion>
<groupId>org.keycloak.example.demo</groupId>
<artifactId>js-console</artifactId>
@@ -31,21 +31,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/kerberos/pom.xml 20(+1 -19)
diff --git a/examples/kerberos/pom.xml b/examples/kerberos/pom.xml
index ffbedd9..8dbab3f 100755
--- a/examples/kerberos/pom.xml
+++ b/examples/kerberos/pom.xml
@@ -3,10 +3,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Examples - Kerberos Credential Delegation</name>
@@ -34,13 +33,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
@@ -62,21 +59,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- </configuration>
- </plugin>
</plugins>
</build>
examples/multi-tenant/pom.xml 21(+1 -20)
diff --git a/examples/multi-tenant/pom.xml b/examples/multi-tenant/pom.xml
index 12c3c2d..c74b5da 100755
--- a/examples/multi-tenant/pom.xml
+++ b/examples/multi-tenant/pom.xml
@@ -2,10 +2,9 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Keycloak Examples - Multi Tenant</name>
@@ -25,17 +24,6 @@
<type>pom</type>
<scope>import</scope>
</dependency>
-
- <dependency>
- <groupId>org.keycloak</groupId>
- <artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.keycloak</groupId>
- <artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
- </dependency>
</dependencies>
</dependencyManagement>
@@ -75,13 +63,6 @@
<skip>false</skip>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
</plugins>
</build>
</project>
examples/pom.xml 11(+9 -2)
diff --git a/examples/pom.xml b/examples/pom.xml
index 390fc45..c4bff69 100755
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -4,13 +4,13 @@
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
</parent>
+
<name>Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>examples-pom</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<packaging>pom</packaging>
<build>
@@ -22,6 +22,13 @@
<skip>true</skip>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <failOnMissingWebXml>false</failOnMissingWebXml>
+ </configuration>
+ </plugin>
</plugins>
</build>
<modules>
diff --git a/examples/providers/event-listener-sysout/pom.xml b/examples/providers/event-listener-sysout/pom.xml
index 0f71426..6174302 100755
--- a/examples/providers/event-listener-sysout/pom.xml
+++ b/examples/providers/event-listener-sysout/pom.xml
@@ -1,11 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-providers-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<name>Event Listener System.out Example</name>
<description/>
<modelVersion>4.0.0</modelVersion>
@@ -17,32 +17,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>event-listener-sysout-example</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
</build>
- <modules>
- </modules>
</project>
examples/providers/event-store-mem/pom.xml 18(+2 -16)
diff --git a/examples/providers/event-store-mem/pom.xml b/examples/providers/event-store-mem/pom.xml
index 9136ce5..3cc4056 100755
--- a/examples/providers/event-store-mem/pom.xml
+++ b/examples/providers/event-store-mem/pom.xml
@@ -1,11 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-providers-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<name>Event Store In-Mem Example</name>
<description/>
<modelVersion>4.0.0</modelVersion>
@@ -17,32 +17,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>event-store-mem-example</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
</build>
- <modules>
- </modules>
</project>
diff --git a/examples/providers/federation-provider/pom.xml b/examples/providers/federation-provider/pom.xml
index 2317523..0fe81fe 100755
--- a/examples/providers/federation-provider/pom.xml
+++ b/examples/providers/federation-provider/pom.xml
@@ -1,11 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-providers-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../../pom.xml</relativePath>
</parent>
+
<name>Properties Authentication Provider Example</name>
<description/>
<modelVersion>4.0.0</modelVersion>
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -35,14 +33,5 @@
<build>
<finalName>federation-properties-example</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
</build>
</project>
examples/providers/pom.xml 17(+2 -15)
diff --git a/examples/providers/pom.xml b/examples/providers/pom.xml
index f27cd76..cbd7efb 100755
--- a/examples/providers/pom.xml
+++ b/examples/providers/pom.xml
@@ -1,31 +1,18 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
<name>Provider Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>examples-providers-pom</artifactId>
+ <artifactId>keycloak-examples-providers-parent</artifactId>
<packaging>pom</packaging>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
- </build>
<modules>
<module>event-listener-sysout</module>
<module>event-store-mem</module>
examples/saml/pom.xml 6(+3 -3)
diff --git a/examples/saml/pom.xml b/examples/saml/pom.xml
index 4a2ea5e..ce8579b 100755
--- a/examples/saml/pom.xml
+++ b/examples/saml/pom.xml
@@ -1,16 +1,16 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Provider Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
- <artifactId>examples-saml-pom</artifactId>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
<packaging>pom</packaging>
<build>
examples/saml/post-basic/pom.xml 89(+21 -68)
diff --git a/examples/saml/post-basic/pom.xml b/examples/saml/post-basic/pom.xml
index 07762a8..7cb485b 100644
--- a/examples/saml/post-basic/pom.xml
+++ b/examples/saml/post-basic/pom.xml
@@ -2,46 +2,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.picketlink.quickstarts</groupId>
- <artifactId>picketlink-federation-saml-sp-post-basic</artifactId>
- <version>2.7.0.Beta2</version>
+ <parent>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ </parent>
- <packaging>war</packaging>
-
- <name>PicketLink Quickstart: picketlink-federation-saml-sp-post-basic</name>
- <description>PicketLink Quickstart: PicketLink Service Provider With a Basic Configuration using SAML HTTP POST Binding</description>
-
- <url>http://www.picketlink.org</url>
-
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <distribution>repo</distribution>
- <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
- </license>
- </licenses>
-
- <properties>
- <!-- JBoss AS dependency versions -->
- <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
-
- <!-- WildFly dependency versions -->
- <version.wildfly.maven.plugin>1.0.1.Final</version.wildfly.maven.plugin>
-
- <!-- PicketLink dependency versions -->
- <version.picketlink.javaee.bom>2.7.0.Beta2</version.picketlink.javaee.bom>
+ <artifactId>keycloak-example-saml-federation-saml-sp-post-basic</artifactId>
- <!-- Default target container. -->
- <target.container>jboss-eap</target.container>
-
- <!-- maven-war-plugin -->
- <version.war.plugin>2.1.1</version.war.plugin>
+ <packaging>war</packaging>
- <!-- maven-compiler-plugin -->
- <version.compiler.plugin>3.1</version.compiler.plugin>
- <maven.compiler.target>1.6</maven.compiler.target>
- <maven.compiler.source>1.6</maven.compiler.source>
- </properties>
+ <name>keycloak-example-saml-federation-saml-sp-post-basic</name>
<build>
<!-- Set the name of the war, used as the context root when the app is deployed -->
@@ -49,51 +20,33 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>${version.war.plugin}</version>
<configuration>
- <!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
<!-- We need to get the configuration resources for the provided target container. -->
<classifier>${target.container}</classifier>
- <webResources>
- <resource>
- <directory>${basedir}/conf/${target.container}</directory>
- </resource>
- </webResources>
+ <webResources>
+ <resource>
+ <directory>${basedir}/conf/${target.container}</directory>
+ </resource>
+ </webResources>
</configuration>
</plugin>
- <!-- JBoss AS plugin to deploy war -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>${version.jboss.maven.plugin}</version>
<configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>wildfly</id>
- <properties>
- <target.container>wildfly</target.container>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>${version.wildfly.maven.plugin}</version>
- <configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
\ No newline at end of file
examples/saml/post-with-encryption/pom.xml 78(+16 -62)
diff --git a/examples/saml/post-with-encryption/pom.xml b/examples/saml/post-with-encryption/pom.xml
index 497bea4..50f3108 100755
--- a/examples/saml/post-with-encryption/pom.xml
+++ b/examples/saml/post-with-encryption/pom.xml
@@ -2,46 +2,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.picketlink.quickstarts</groupId>
- <artifactId>picketlink-federation-saml-sp-with-encryption</artifactId>
- <version>2.7.0.Beta2</version>
+ <parent>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ </parent>
- <packaging>war</packaging>
-
- <name>PicketLink Quickstart: picketlink-federation-saml-sp-with-encryption</name>
- <description>PicketLink Quickstart: PicketLink Service Provider With a Basic Configuration using SAML HTTP POST Binding With Encryption Support</description>
-
- <url>http://www.picketlink.org</url>
-
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <distribution>repo</distribution>
- <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
- </license>
- </licenses>
-
- <properties>
- <!-- JBoss AS dependency versions -->
- <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
-
- <!-- WildFly dependency versions -->
- <version.wildfly.maven.plugin>1.0.1.Final</version.wildfly.maven.plugin>
-
- <!-- PicketLink dependency versions -->
- <version.picketlink.javaee.bom>2.7.0.Beta2</version.picketlink.javaee.bom>
+ <artifactId>keycloak-example-saml-post-with-encryption</artifactId>
- <!-- Default target container. -->
- <target.container>jboss-eap</target.container>
-
- <!-- maven-war-plugin -->
- <version.war.plugin>2.1.1</version.war.plugin>
+ <packaging>war</packaging>
- <!-- maven-compiler-plugin -->
- <version.compiler.plugin>3.1</version.compiler.plugin>
- <maven.compiler.target>1.6</maven.compiler.target>
- <maven.compiler.source>1.6</maven.compiler.source>
- </properties>
+ <name>keycloak-example-saml-post-with-encryption</name>
<build>
<!-- Set the name of the war, used as the context root when the app is deployed -->
@@ -57,7 +28,6 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>${version.war.plugin}</version>
<configuration>
<!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
@@ -80,37 +50,21 @@
</webResources>
</configuration>
</plugin>
- <!-- JBoss AS plugin to deploy war -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>${version.jboss.maven.plugin}</version>
<configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>wildfly</id>
- <properties>
- <target.container>wildfly</target.container>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>${version.wildfly.maven.plugin}</version>
- <configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
\ No newline at end of file
examples/saml/post-with-signature/pom.xml 78(+16 -62)
diff --git a/examples/saml/post-with-signature/pom.xml b/examples/saml/post-with-signature/pom.xml
index 2c644a7..9ea515d 100755
--- a/examples/saml/post-with-signature/pom.xml
+++ b/examples/saml/post-with-signature/pom.xml
@@ -2,46 +2,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.picketlink.quickstarts</groupId>
- <artifactId>picketlink-federation-saml-sp-post-with-signature</artifactId>
- <version>2.7.0.Beta2</version>
+ <parent>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ </parent>
- <packaging>war</packaging>
-
- <name>PicketLink Quickstart: picketlink-federation-saml-sp-post-with-signature</name>
- <description>PicketLink Quickstart: PicketLink Service Provider With a Basic Configuration using SAML HTTP POST Binding With Signature Support</description>
-
- <url>http://www.picketlink.org</url>
-
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <distribution>repo</distribution>
- <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
- </license>
- </licenses>
-
- <properties>
- <!-- JBoss AS dependency versions -->
- <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
-
- <!-- WildFly dependency versions -->
- <version.wildfly.maven.plugin>1.0.1.Final</version.wildfly.maven.plugin>
-
- <!-- PicketLink dependency versions -->
- <version.picketlink.javaee.bom>2.7.0.Beta2</version.picketlink.javaee.bom>
+ <artifactId>keycloak-example-saml-post-with-signature</artifactId>
- <!-- Default target container. -->
- <target.container>jboss-eap</target.container>
-
- <!-- maven-war-plugin -->
- <version.war.plugin>2.1.1</version.war.plugin>
+ <packaging>war</packaging>
- <!-- maven-compiler-plugin -->
- <version.compiler.plugin>3.1</version.compiler.plugin>
- <maven.compiler.target>1.6</maven.compiler.target>
- <maven.compiler.source>1.6</maven.compiler.source>
- </properties>
+ <name>keycloak-example-saml-post-with-signature</name>
<build>
<!-- Set the name of the war, used as the context root when the app is deployed -->
@@ -57,7 +28,6 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>${version.war.plugin}</version>
<configuration>
<!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
@@ -80,37 +50,21 @@
</webResources>
</configuration>
</plugin>
- <!-- JBoss AS plugin to deploy war -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>${version.jboss.maven.plugin}</version>
<configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>wildfly</id>
- <properties>
- <target.container>wildfly</target.container>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>${version.wildfly.maven.plugin}</version>
- <configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
\ No newline at end of file
examples/saml/redirect-basic/pom.xml 78(+16 -62)
diff --git a/examples/saml/redirect-basic/pom.xml b/examples/saml/redirect-basic/pom.xml
index 98c3a40..3ca0bc5 100644
--- a/examples/saml/redirect-basic/pom.xml
+++ b/examples/saml/redirect-basic/pom.xml
@@ -2,46 +2,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.picketlink.quickstarts</groupId>
- <artifactId>picketlink-federation-saml-sp-redirect-basic</artifactId>
- <version>2.7.0.Beta2</version>
+ <parent>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ </parent>
- <packaging>war</packaging>
-
- <name>PicketLink Quickstart: picketlink-federation-saml-sp-redirect-basic</name>
- <description>PicketLink Quickstart: PicketLink Service Provider With a Basic Configuration using SAML HTTP Redirect Binding</description>
-
- <url>http://www.picketlink.org</url>
-
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <distribution>repo</distribution>
- <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
- </license>
- </licenses>
-
- <properties>
- <!-- JBoss AS dependency versions -->
- <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
-
- <!-- WildFly dependency versions -->
- <version.wildfly.maven.plugin>1.0.1.Final</version.wildfly.maven.plugin>
-
- <!-- PicketLink dependency versions -->
- <version.picketlink.javaee.bom>2.7.0.Beta2</version.picketlink.javaee.bom>
+ <artifactId>keycloak-example-saml-redirect-basic</artifactId>
- <!-- Default target container. -->
- <target.container>jboss-eap</target.container>
-
- <!-- maven-war-plugin -->
- <version.war.plugin>2.1.1</version.war.plugin>
+ <packaging>war</packaging>
- <!-- maven-compiler-plugin -->
- <version.compiler.plugin>3.1</version.compiler.plugin>
- <maven.compiler.target>1.6</maven.compiler.target>
- <maven.compiler.source>1.6</maven.compiler.source>
- </properties>
+ <name>keycloak-example-saml-redirect-basic</name>
<build>
<!-- Set the name of the war, used as the context root when the app is deployed -->
@@ -49,7 +20,6 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>${version.war.plugin}</version>
<configuration>
<!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
@@ -66,37 +36,21 @@
</webResources>
</configuration>
</plugin>
- <!-- JBoss AS plugin to deploy war -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>${version.jboss.maven.plugin}</version>
<configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>wildfly</id>
- <properties>
- <target.container>wildfly</target.container>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>${version.wildfly.maven.plugin}</version>
- <configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
\ No newline at end of file
examples/saml/redirect-with-signature/pom.xml 78(+16 -62)
diff --git a/examples/saml/redirect-with-signature/pom.xml b/examples/saml/redirect-with-signature/pom.xml
index d491d8e..a94f159 100755
--- a/examples/saml/redirect-with-signature/pom.xml
+++ b/examples/saml/redirect-with-signature/pom.xml
@@ -2,46 +2,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.picketlink.quickstarts</groupId>
- <artifactId>picketlink-federation-saml-sp-redirect-with-signature</artifactId>
- <version>2.7.0.Beta2</version>
+ <parent>
+ <artifactId>keycloak-examples-saml-parent</artifactId>
+ <groupId>org.keycloak</groupId>
+ <version>1.2.0.RC1-SNAPSHOT</version>
+ </parent>
- <packaging>war</packaging>
-
- <name>PicketLink Quickstart: picketlink-federation-saml-sp-redirect-with-signature</name>
- <description>PicketLink Quickstart: PicketLink Service Provider With a Basic Configuration using SAML HTTP Redirect Binding With Signature Support</description>
-
- <url>http://www.picketlink.org</url>
-
- <licenses>
- <license>
- <name>Apache License, Version 2.0</name>
- <distribution>repo</distribution>
- <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
- </license>
- </licenses>
-
- <properties>
- <!-- JBoss AS dependency versions -->
- <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>
-
- <!-- WildFly dependency versions -->
- <version.wildfly.maven.plugin>1.0.1.Final</version.wildfly.maven.plugin>
-
- <!-- PicketLink dependency versions -->
- <version.picketlink.javaee.bom>2.7.0.Beta2</version.picketlink.javaee.bom>
+ <artifactId>keycloak-example-saml-redirect-with-signature</artifactId>
- <!-- Default target container. -->
- <target.container>jboss-eap</target.container>
-
- <!-- maven-war-plugin -->
- <version.war.plugin>2.1.1</version.war.plugin>
+ <packaging>war</packaging>
- <!-- maven-compiler-plugin -->
- <version.compiler.plugin>3.1</version.compiler.plugin>
- <maven.compiler.target>1.6</maven.compiler.target>
- <maven.compiler.source>1.6</maven.compiler.source>
- </properties>
+ <name>keycloak-example-saml-redirect-with-signature</name>
<build>
<!-- Set the name of the war, used as the context root when the app is deployed -->
@@ -57,7 +28,6 @@
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>${version.war.plugin}</version>
<configuration>
<!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
@@ -80,37 +50,21 @@
</webResources>
</configuration>
</plugin>
- <!-- JBoss AS plugin to deploy war -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>${version.jboss.maven.plugin}</version>
<configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.wildfly.plugins</groupId>
+ <artifactId>wildfly-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
</configuration>
</plugin>
</plugins>
</build>
- <profiles>
- <profile>
- <id>wildfly</id>
- <properties>
- <target.container>wildfly</target.container>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.wildfly.plugins</groupId>
- <artifactId>wildfly-maven-plugin</artifactId>
- <version>${version.wildfly.maven.plugin}</version>
- <configuration>
- <filename>${project.build.finalName}-${target.container}.${project.packaging}</filename>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
\ No newline at end of file
examples/themes/pom.xml 15(+2 -13)
diff --git a/examples/themes/pom.xml b/examples/themes/pom.xml
index 119e3f4..363b69d 100755
--- a/examples/themes/pom.xml
+++ b/examples/themes/pom.xml
@@ -1,11 +1,11 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
- <artifactId>keycloak-parent</artifactId>
+ <artifactId>keycloak-examples-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.2.0.RC1-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
</parent>
+
<name>Themes Examples</name>
<description/>
<modelVersion>4.0.0</modelVersion>
@@ -15,16 +15,5 @@
<build>
<finalName>keycloak-example-themes</finalName>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- </plugin>
- </plugins>
</build>
- <modules>
- </modules>
</project>
diff --git a/export-import/export-import-api/pom.xml b/export-import/export-import-api/pom.xml
index 0ff760b..6718c08 100755
--- a/export-import/export-import-api/pom.xml
+++ b/export-import/export-import-api/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-model</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/export-import/export-import-api/src/main/java/org/keycloak/exportimport/util/ExportUtils.java b/export-import/export-import-api/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
index c404c3d..bccce2d 100755
--- a/export-import/export-import-api/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
+++ b/export-import/export-import-api/src/main/java/org/keycloak/exportimport/util/ExportUtils.java
@@ -8,14 +8,15 @@ import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.FederatedIdentityModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.utils.ModelToRepresentation;
-import org.keycloak.representations.idm.ApplicationRepresentation;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.representations.idm.RealmRepresentation;
@@ -23,6 +24,7 @@ import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.RolesRepresentation;
import org.keycloak.representations.idm.ScopeMappingRepresentation;
import org.keycloak.representations.idm.FederatedIdentityRepresentation;
+import org.keycloak.representations.idm.UserConsentRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import java.io.IOException;
@@ -283,6 +285,35 @@ public class ExportUtils {
userRep.setCredentials(credReps);
userRep.setFederationLink(user.getFederationLink());
+ // Grants
+ List<UserConsentModel> consents = user.getConsents();
+ Map<String, UserConsentRepresentation> consentReps = new HashMap<String, UserConsentRepresentation>();
+ for (UserConsentModel consent : consents) {
+ String clientId = consent.getClient().getClientId();
+
+ List<String> grantedProtocolMappers = new LinkedList<String>();
+ for (ProtocolMapperModel protocolMapper : consent.getGrantedProtocolMappers()) {
+ grantedProtocolMappers.add(protocolMapper.getId());
+ }
+
+ List<String> grantedRoles = new LinkedList<String>();
+ for (RoleModel role : consent.getGrantedRoles()) {
+ grantedRoles.add(role.getId());
+ }
+
+
+ if (grantedRoles.size() > 0 || grantedProtocolMappers.size() > 0) {
+ UserConsentRepresentation consentRep = new UserConsentRepresentation();
+ if (grantedRoles.size() > 0) consentRep.setGrantedRoles(grantedRoles);
+ if (grantedProtocolMappers.size() > 0) consentRep.setGrantedProtocolMappers(grantedProtocolMappers);
+ consentReps.put(clientId, consentRep);
+ }
+ }
+
+ if (consentReps.size() > 0) {
+ userRep.setClientConsents(consentReps);
+ }
+
return userRep;
}
diff --git a/export-import/export-import-dir/pom.xml b/export-import/export-import-dir/pom.xml
index ff7fac9..f17882a 100755
--- a/export-import/export-import-dir/pom.xml
+++ b/export-import/export-import-dir/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/export-import/export-import-single-file/pom.xml b/export-import/export-import-single-file/pom.xml
index 9b84d6b..56df327 100755
--- a/export-import/export-import-single-file/pom.xml
+++ b/export-import/export-import-single-file/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/export-import/export-import-zip/pom.xml b/export-import/export-import-zip/pom.xml
index 7571058..9c9d6f5 100755
--- a/export-import/export-import-zip/pom.xml
+++ b/export-import/export-import-zip/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
federation/kerberos/pom.xml 2(+0 -2)
diff --git a/federation/kerberos/pom.xml b/federation/kerberos/pom.xml
index a2f5bce..4cb036c 100755
--- a/federation/kerberos/pom.xml
+++ b/federation/kerberos/pom.xml
@@ -16,13 +16,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
federation/ldap/pom.xml 3(+0 -3)
diff --git a/federation/ldap/pom.xml b/federation/ldap/pom.xml
index 72803ab..27aea26 100755
--- a/federation/ldap/pom.xml
+++ b/federation/ldap/pom.xml
@@ -16,19 +16,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/account-api/pom.xml 3(+0 -3)
diff --git a/forms/account-api/pom.xml b/forms/account-api/pom.xml
index 1a53b9f..8ec5d42 100755
--- a/forms/account-api/pom.xml
+++ b/forms/account-api/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/account-freemarker/pom.xml 7(+0 -7)
diff --git a/forms/account-freemarker/pom.xml b/forms/account-freemarker/pom.xml
index 8c39675..0029ccf 100755
--- a/forms/account-freemarker/pom.xml
+++ b/forms/account-freemarker/pom.xml
@@ -17,43 +17,36 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-account-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/AccessBean.java b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/AccessBean.java
index 58cea2f..67eb4a6 100644
--- a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/AccessBean.java
+++ b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/model/AccessBean.java
@@ -5,7 +5,7 @@ import java.util.LinkedList;
import java.util.List;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -20,14 +20,13 @@ public class AccessBean {
private List<ClientGrantBean> clientGrants = new LinkedList<ClientGrantBean>();
public AccessBean(RealmModel realm, UserModel user, URI baseUri, String stateChecker) {
- List<GrantedConsentModel> grantedConsents = user.getGrantedConsents();
- for (GrantedConsentModel consent : grantedConsents) {
- ClientModel client = realm.getClientById(consent.getClientId());
+ List<UserConsentModel> grantedConsents = user.getConsents();
+ for (UserConsentModel consent : grantedConsents) {
+ ClientModel client = consent.getClient();
List<RoleModel> realmRolesGranted = new LinkedList<RoleModel>();
MultivaluedHashMap<String, RoleModel> resourceRolesGranted = new MultivaluedHashMap<String, RoleModel>();
- for (String roleId : consent.getGrantedRoles()) {
- RoleModel role = realm.getRoleById(roleId);
+ for (RoleModel role : consent.getGrantedRoles()) {
if (role.getContainer() instanceof RealmModel) {
realmRolesGranted.add(role);
} else {
@@ -36,8 +35,7 @@ public class AccessBean {
}
List<String> claimsGranted = new LinkedList<String>();
- for (String protocolMapperId : consent.getGrantedProtocolMappers()) {
- ProtocolMapperModel protocolMapper = client.getProtocolMapperById(protocolMapperId);
+ for (ProtocolMapperModel protocolMapper : consent.getGrantedProtocolMappers()) {
claimsGranted.add(protocolMapper.getConsentText());
}
forms/common-freemarker/pom.xml 2(+0 -2)
diff --git a/forms/common-freemarker/pom.xml b/forms/common-freemarker/pom.xml
index 4dd0214..cc94eca 100755
--- a/forms/common-freemarker/pom.xml
+++ b/forms/common-freemarker/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/common-themes/pom.xml 3(+0 -3)
diff --git a/forms/common-themes/pom.xml b/forms/common-themes/pom.xml
index 52b1425..d7ed8ac 100755
--- a/forms/common-themes/pom.xml
+++ b/forms/common-themes/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/email-api/pom.xml 3(+0 -3)
diff --git a/forms/email-api/pom.xml b/forms/email-api/pom.xml
index ae51f1d..16306ee 100755
--- a/forms/email-api/pom.xml
+++ b/forms/email-api/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
forms/email-freemarker/pom.xml 5(+0 -5)
diff --git a/forms/email-freemarker/pom.xml b/forms/email-freemarker/pom.xml
index 35c264f..3b3db45 100755
--- a/forms/email-freemarker/pom.xml
+++ b/forms/email-freemarker/pom.xml
@@ -17,31 +17,26 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/login-api/pom.xml 2(+0 -2)
diff --git a/forms/login-api/pom.xml b/forms/login-api/pom.xml
index 0dccc0b..4200823 100755
--- a/forms/login-api/pom.xml
+++ b/forms/login-api/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
forms/login-freemarker/pom.xml 7(+0 -7)
diff --git a/forms/login-freemarker/pom.xml b/forms/login-freemarker/pom.xml
index c5b7134..31b00ed 100755
--- a/forms/login-freemarker/pom.xml
+++ b/forms/login-freemarker/pom.xml
@@ -17,43 +17,36 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-login-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
integration/adapter-core/pom.xml 1(+0 -1)
diff --git a/integration/adapter-core/pom.xml b/integration/adapter-core/pom.xml
index 2db2a9c..d5a03d0 100755
--- a/integration/adapter-core/pom.xml
+++ b/integration/adapter-core/pom.xml
@@ -41,7 +41,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/AuthenticatedActionsHandler.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/AuthenticatedActionsHandler.java
index fcbf1fe..98bc5cc 100755
--- a/integration/adapter-core/src/main/java/org/keycloak/adapters/AuthenticatedActionsHandler.java
+++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/AuthenticatedActionsHandler.java
@@ -4,6 +4,7 @@ import org.jboss.logging.Logger;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.constants.AdapterConstants;
import org.keycloak.representations.AccessToken;
+import org.keycloak.util.UriUtils;
import java.io.IOException;
import java.util.Set;
@@ -78,8 +79,9 @@ public class AuthenticatedActionsHandler {
if (!deployment.isCors()) return false;
KeycloakSecurityContext securityContext = facade.getSecurityContext();
String origin = facade.getRequest().getHeader(CorsHeaders.ORIGIN);
+ String requestOrigin = UriUtils.getOrigin(facade.getRequest().getURI());
log.debugv("Origin: {0} uri: {1}", origin, facade.getRequest().getURI());
- if (securityContext != null && origin != null) {
+ if (securityContext != null && origin != null && !origin.equals(requestOrigin)) {
AccessToken token = securityContext.getToken();
Set<String> allowedOrigins = token.getAllowedOrigins();
if (log.isDebugEnabled()) {
diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
index 51ddfd5..6f8f649 100644
--- a/integration/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
+++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/BasicAuthRequestAuthenticator.java
@@ -53,6 +53,7 @@ public class BasicAuthRequestAuthenticator extends BearerTokenRequestAuthenticat
String[] parts=userpw.split(":");
atr = getToken(parts[0], parts[1]);
+ tokenString = atr.getToken();
} catch (Exception e) {
log.debug("Failed to obtain token", e);
challenge = challengeResponse(exchange, "no_token", e.getMessage());
integration/admin-client/pom.xml 5(+0 -5)
diff --git a/integration/admin-client/pom.xml b/integration/admin-client/pom.xml
index 95d8fe4..91d15fc 100755
--- a/integration/admin-client/pom.xml
+++ b/integration/admin-client/pom.xml
@@ -18,7 +18,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
@@ -34,25 +33,21 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
</dependencies>
integration/as7-eap6/adapter/pom.xml 4(+0 -4)
diff --git a/integration/as7-eap6/adapter/pom.xml b/integration/as7-eap6/adapter/pom.xml
index 89c65b9..2ab6868 100755
--- a/integration/as7-eap6/adapter/pom.xml
+++ b/integration/as7-eap6/adapter/pom.xml
@@ -17,17 +17,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jboss-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
@@ -80,7 +77,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat-core-adapter</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
integration/installed/pom.xml 2(+0 -2)
diff --git a/integration/installed/pom.xml b/integration/installed/pom.xml
index a5268e3..b0d2c01 100755
--- a/integration/installed/pom.xml
+++ b/integration/installed/pom.xml
@@ -17,12 +17,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
diff --git a/integration/jaxrs-oauth-client/pom.xml b/integration/jaxrs-oauth-client/pom.xml
index 4e644b8..4bd26a1 100755
--- a/integration/jaxrs-oauth-client/pom.xml
+++ b/integration/jaxrs-oauth-client/pom.xml
@@ -17,31 +17,26 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -57,7 +52,6 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/integration/jboss-adapter-core/pom.xml b/integration/jboss-adapter-core/pom.xml
index fc722ab..1de6a19 100755
--- a/integration/jboss-adapter-core/pom.xml
+++ b/integration/jboss-adapter-core/pom.xml
@@ -23,12 +23,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
integration/jetty/jetty8.1/pom.xml 3(+0 -3)
diff --git a/integration/jetty/jetty8.1/pom.xml b/integration/jetty/jetty8.1/pom.xml
index 54753b8..dd500ed 100755
--- a/integration/jetty/jetty8.1/pom.xml
+++ b/integration/jetty/jetty8.1/pom.xml
@@ -33,17 +33,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
integration/jetty/jetty9.1/pom.xml 3(+0 -3)
diff --git a/integration/jetty/jetty9.1/pom.xml b/integration/jetty/jetty9.1/pom.xml
index 07ef614..ca658fe 100755
--- a/integration/jetty/jetty9.1/pom.xml
+++ b/integration/jetty/jetty9.1/pom.xml
@@ -34,17 +34,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty-core</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.eclipse.jetty</groupId>
integration/jetty/jetty9.2/pom.xml 3(+0 -3)
diff --git a/integration/jetty/jetty9.2/pom.xml b/integration/jetty/jetty9.2/pom.xml
index b853e72..32205e7 100755
--- a/integration/jetty/jetty9.2/pom.xml
+++ b/integration/jetty/jetty9.2/pom.xml
@@ -34,17 +34,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
integration/jetty/jetty-core/pom.xml 2(+0 -2)
diff --git a/integration/jetty/jetty-core/pom.xml b/integration/jetty/jetty-core/pom.xml
index 20bdac8..47bbb27 100755
--- a/integration/jetty/jetty-core/pom.xml
+++ b/integration/jetty/jetty-core/pom.xml
@@ -34,12 +34,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
integration/keycloak-as7-subsystem/pom.xml 26(+0 -26)
diff --git a/integration/keycloak-as7-subsystem/pom.xml b/integration/keycloak-as7-subsystem/pom.xml
index 7da7032..7a1db33 100755
--- a/integration/keycloak-as7-subsystem/pom.xml
+++ b/integration/keycloak-as7-subsystem/pom.xml
@@ -63,35 +63,9 @@
</build>
<dependencies>
- <!--
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-controller</artifactId>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-server</artifactId>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-ee</artifactId>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-undertow</artifactId>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-subsystem-test</artifactId>
- <type>pom</type>
- <scope>test</scope>
- </dependency>
- -->
-
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
diff --git a/integration/keycloak-subsystem/pom.xml b/integration/keycloak-subsystem/pom.xml
index 52b39fd..36054dc 100755
--- a/integration/keycloak-subsystem/pom.xml
+++ b/integration/keycloak-subsystem/pom.xml
@@ -125,7 +125,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
</project>
diff --git a/integration/servlet-oauth-client/pom.xml b/integration/servlet-oauth-client/pom.xml
index 06ec8ad..56a52c0 100755
--- a/integration/servlet-oauth-client/pom.xml
+++ b/integration/servlet-oauth-client/pom.xml
@@ -22,13 +22,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
integration/spring-boot/pom.xml 5(+0 -5)
diff --git a/integration/spring-boot/pom.xml b/integration/spring-boot/pom.xml
index fe3bebc..1052300 100755
--- a/integration/spring-boot/pom.xml
+++ b/integration/spring-boot/pom.xml
@@ -21,30 +21,25 @@
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
- <version>${jboss.logging.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat8-adapter</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty92-adapter</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
integration/tomcat/tomcat6/pom.xml 3(+0 -3)
diff --git a/integration/tomcat/tomcat6/pom.xml b/integration/tomcat/tomcat6/pom.xml
index 9e3cf14..75079d4 100755
--- a/integration/tomcat/tomcat6/pom.xml
+++ b/integration/tomcat/tomcat6/pom.xml
@@ -25,17 +25,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat-core-adapter</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
integration/tomcat/tomcat7/pom.xml 3(+0 -3)
diff --git a/integration/tomcat/tomcat7/pom.xml b/integration/tomcat/tomcat7/pom.xml
index 46ea1df..66fa8de 100755
--- a/integration/tomcat/tomcat7/pom.xml
+++ b/integration/tomcat/tomcat7/pom.xml
@@ -26,17 +26,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat-core-adapter</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
integration/tomcat/tomcat8/pom.xml 3(+0 -3)
diff --git a/integration/tomcat/tomcat8/pom.xml b/integration/tomcat/tomcat8/pom.xml
index 1202951..11577ea 100755
--- a/integration/tomcat/tomcat8/pom.xml
+++ b/integration/tomcat/tomcat8/pom.xml
@@ -25,12 +25,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
@@ -48,7 +46,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat-core-adapter</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
diff --git a/integration/tomcat/tomcat-core/pom.xml b/integration/tomcat/tomcat-core/pom.xml
index 5bc46b8..514f2ae 100755
--- a/integration/tomcat/tomcat-core/pom.xml
+++ b/integration/tomcat/tomcat-core/pom.xml
@@ -27,12 +27,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
diff --git a/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java b/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
index ffc5941..f415f9f 100755
--- a/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
+++ b/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/AbstractKeycloakAuthenticatorValve.java
@@ -151,7 +151,7 @@ public abstract class AbstractKeycloakAuthenticatorValve extends FormAuthenticat
try {
is = new FileInputStream(path);
} catch (FileNotFoundException e) {
- log.severe("NOT FOUND /WEB-INF/keycloak.json");
+ log.log(Level.SEVERE, "NOT FOUND {0}", path);
throw new RuntimeException(e);
}
}
integration/undertow/pom.xml 2(+0 -2)
diff --git a/integration/undertow/pom.xml b/integration/undertow/pom.xml
index 7f0f28c..0b37f79 100755
--- a/integration/undertow/pom.xml
+++ b/integration/undertow/pom.xml
@@ -23,12 +23,10 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
integration/wildfly-adapter/pom.xml 4(+0 -4)
diff --git a/integration/wildfly-adapter/pom.xml b/integration/wildfly-adapter/pom.xml
index 6419e5d..4902962 100755
--- a/integration/wildfly-adapter/pom.xml
+++ b/integration/wildfly-adapter/pom.xml
@@ -23,22 +23,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jboss-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
diff --git a/integration/wildfly-extensions/pom.xml b/integration/wildfly-extensions/pom.xml
index 079f6fe..201db70 100755
--- a/integration/wildfly-extensions/pom.xml
+++ b/integration/wildfly-extensions/pom.xml
@@ -38,25 +38,21 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-themes</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
misc/ReleaseProcess.md 16(+3 -13)
diff --git a/misc/ReleaseProcess.md b/misc/ReleaseProcess.md
index 08fd1b6..6cf5c9d 100644
--- a/misc/ReleaseProcess.md
+++ b/misc/ReleaseProcess.md
@@ -14,22 +14,12 @@ $ git@github.com:keycloak/keycloak.git
* Build everything to make sure its kosher.
```
$ cd keycloak
-$ mvn install
-```
-
-* Build javadoc and jaxrs-doc
-```
-$ mvn javadoc:javadoc
-# This is for jaxrs-docs
-$ cd services
-$ mvn package
-# back to root keycloak dir
-$ cd ..
+$ mvn -Pjboss-release install
```
* Upload to Nexus (from project root)
```
-$ mvn -Pdistribution deploy
+$ mvn -Pjboss-release deploy
```
* Login to Nexus and release the maven repository uploads in the staging area.
@@ -77,4 +67,4 @@ Releases are automatically synced to Maven central, but this can take up to one
## Announce
* Update Magnolia site to link keycloak docs and announcements.
-* Write a blog and email about release including links to download, migration guide, docs, and blurb about what's new
\ No newline at end of file
+* Write a blog and email about release including links to download, migration guide, docs, and blurb about what's new
misc/Testsuite.md 6(+3 -3)
diff --git a/misc/Testsuite.md b/misc/Testsuite.md
index 658a042..ebaee4b 100644
--- a/misc/Testsuite.md
+++ b/misc/Testsuite.md
@@ -23,7 +23,7 @@ To start a basic Keycloak server for testing run:
mvn exec:java -Pkeycloak-server
-or run org.keycloak.testutils.KeycloakServer from your favourite IDE!
+or run org.keycloak.testsuite.KeycloakServer from your favourite IDE!
When starting the server it can also import a realm from a json file:
@@ -64,7 +64,7 @@ To generate totp codes without Google authenticator run:
mvn exec:java -Ptotp
-or run org.keycloak.testutils.TotpGenerator from your favourite IDE!
+or run org.keycloak.testsuite.TotpGenerator from your favourite IDE!
Once started copy/paste the totp secret and press enter. To use a new secret just copy/paste and press enter again.
@@ -75,7 +75,7 @@ To start a test mail server for testing email sending run:
mvn exec:java -Pmail-server
-or run org.keycloak.testutils.MailServer from your favourite IDE!
+or run org.keycloak.testsuite.MailServer from your favourite IDE!
To configure Keycloak to use the above server add the following system properties:
model/api/pom.xml 1(+0 -1)
diff --git a/model/api/pom.xml b/model/api/pom.xml
index 1b97730..56b8ca7 100755
--- a/model/api/pom.xml
+++ b/model/api/pom.xml
@@ -37,7 +37,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/model/api/src/main/java/org/keycloak/models/entities/UserConsentEntity.java b/model/api/src/main/java/org/keycloak/models/entities/UserConsentEntity.java
new file mode 100644
index 0000000..47b76c6
--- /dev/null
+++ b/model/api/src/main/java/org/keycloak/models/entities/UserConsentEntity.java
@@ -0,0 +1,47 @@
+package org.keycloak.models.entities;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class UserConsentEntity extends AbstractIdentifiableEntity {
+
+ private String userId;
+ private String clientId;
+ private List<String> grantedRoles = new ArrayList<String>();
+ private List<String> grantedProtocolMappers = new ArrayList<String>();
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public String getClientId() {
+ return clientId;
+ }
+
+ public void setClientId(String clientId) {
+ this.clientId = clientId;
+ }
+
+ public List<String> getGrantedRoles() {
+ return grantedRoles;
+ }
+
+ public void setGrantedRoles(List<String> grantedRoles) {
+ this.grantedRoles = grantedRoles;
+ }
+
+ public List<String> getGrantedProtocolMappers() {
+ return grantedProtocolMappers;
+ }
+
+ public void setGrantedProtocolMappers(List<String> grantedProtocolMappers) {
+ this.grantedProtocolMappers = grantedProtocolMappers;
+ }
+}
diff --git a/model/api/src/main/java/org/keycloak/models/UserConsentModel.java b/model/api/src/main/java/org/keycloak/models/UserConsentModel.java
new file mode 100644
index 0000000..11f1034
--- /dev/null
+++ b/model/api/src/main/java/org/keycloak/models/UserConsentModel.java
@@ -0,0 +1,69 @@
+package org.keycloak.models;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class UserConsentModel {
+
+ private final RealmModel realm;
+ private final ClientModel client;
+ private Set<ProtocolMapperModel> protocolMappers = new HashSet<ProtocolMapperModel>();
+ private Set<RoleModel> roles = new HashSet<RoleModel>();
+
+ public UserConsentModel(RealmModel realm, String clientId) {
+ this.realm = realm;
+ this.client = realm.getClientById(clientId);
+
+ if (client == null) {
+ throw new ModelException("Client with id [" + clientId + "] is not available");
+ }
+ }
+
+ public ClientModel getClient() {
+ return client;
+ }
+
+ public void addGrantedRole(String roleId) {
+ RoleModel role = realm.getRoleById(roleId);
+
+ // Chance that role was already deleted by other transaction and is not available anymore
+ if (role != null) {
+ roles.add(role);
+ }
+ }
+
+ public Set<RoleModel> getGrantedRoles() {
+ return roles;
+ }
+
+ public boolean isRoleGranted(RoleModel role) {
+ for (RoleModel currentRole : roles) {
+ if (currentRole.getId().equals(role.getId())) return true;
+ }
+ return false;
+ }
+
+ public void addGrantedProtocolMapper(String protocolMapperId) {
+ ProtocolMapperModel protocolMapper = client.getProtocolMapperById(protocolMapperId);
+
+ // Chance that protocolMapper was already deleted by other transaction and is not available anymore
+ if (protocolMapper != null) {
+ protocolMappers.add(protocolMapper);
+ }
+ }
+
+ public Set<ProtocolMapperModel> getGrantedProtocolMappers() {
+ return protocolMappers;
+ }
+
+ public boolean isProtocolMapperGranted(ProtocolMapperModel protocolMapper) {
+ for (ProtocolMapperModel currentProtMapper : protocolMappers) {
+ if (currentProtMapper.getId().equals(protocolMapper.getId())) return true;
+ }
+ return false;
+ }
+
+}
diff --git a/model/api/src/main/java/org/keycloak/models/UserModel.java b/model/api/src/main/java/org/keycloak/models/UserModel.java
index 6ad716c..ed5ae9e 100755
--- a/model/api/src/main/java/org/keycloak/models/UserModel.java
+++ b/model/api/src/main/java/org/keycloak/models/UserModel.java
@@ -75,11 +75,11 @@ public interface UserModel {
String getFederationLink();
void setFederationLink(String link);
- GrantedConsentModel addGrantedConsent(GrantedConsentModel consent);
- GrantedConsentModel getGrantedConsentByClient(String clientId);
- List<GrantedConsentModel> getGrantedConsents();
- void updateGrantedConsent(GrantedConsentModel consent);
- boolean revokeGrantedConsentForClient(String clientId);
+ void addConsent(UserConsentModel consent);
+ UserConsentModel getConsentByClient(String clientId);
+ List<UserConsentModel> getConsents();
+ void updateConsent(UserConsentModel consent);
+ boolean revokeConsentForClient(String clientId);
public static enum RequiredAction {
VERIFY_EMAIL, UPDATE_PROFILE, CONFIGURE_TOTP, UPDATE_PASSWORD
diff --git a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index 974936c..282d376 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -15,6 +15,7 @@ import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserFederationProviderModel;
@@ -32,6 +33,7 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.RoleRepresentation;
import org.keycloak.representations.idm.ScopeMappingRepresentation;
import org.keycloak.representations.idm.SocialLinkRepresentation;
+import org.keycloak.representations.idm.UserConsentRepresentation;
import org.keycloak.representations.idm.UserFederationProviderRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.util.UriUtils;
@@ -783,6 +785,35 @@ public class RepresentationToModel {
createClientRoleMappings(client, user, entry.getValue());
}
}
+ if (userRep.getClientConsents() != null) {
+ for (Map.Entry<String, UserConsentRepresentation> entry : userRep.getClientConsents().entrySet()) {
+ ClientModel client = clientMap.get(entry.getKey());
+ if (client == null) {
+ throw new RuntimeException("Unable to find client consent mappings for client: " + entry.getKey());
+ }
+
+ UserConsentModel consentModel = new UserConsentModel(newRealm, client.getId());
+
+ UserConsentRepresentation consentRep = entry.getValue();
+ if (consentRep.getGrantedRoles() != null) {
+ for (String roleId : consentRep.getGrantedRoles()) {
+ if (newRealm.getRoleById(roleId) == null) {
+ throw new RuntimeException("Unable to find realm role referenced in consent mappings of user " + user.getUsername() + ". Role ID: " + roleId);
+ }
+ consentModel.addGrantedRole(roleId);
+ }
+ }
+ if (consentRep.getGrantedProtocolMappers() != null) {
+ for (String mapperId : consentRep.getGrantedProtocolMappers()) {
+ if (client.getProtocolMapperById(mapperId) == null) {
+ throw new RuntimeException("Unable to find protocol mapper referenced in consent mappings of user " + user.getUsername() + ". Protocol mapper ID: " + mapperId);
+ }
+ consentModel.addGrantedProtocolMapper(mapperId);;
+ }
+ }
+ user.addConsent(consentModel);
+ }
+ }
return user;
}
diff --git a/model/api/src/main/java/org/keycloak/models/utils/UserModelDelegate.java b/model/api/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
index 83b6add..8ac8f5b 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/UserModelDelegate.java
@@ -1,7 +1,7 @@
package org.keycloak.models.utils;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.RoleModel;
import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserCredentialValueModel;
@@ -188,27 +188,27 @@ public class UserModelDelegate implements UserModel {
}
@Override
- public GrantedConsentModel addGrantedConsent(GrantedConsentModel consent) {
- return delegate.addGrantedConsent(consent);
+ public void addConsent(UserConsentModel consent) {
+ delegate.addConsent(consent);
}
@Override
- public GrantedConsentModel getGrantedConsentByClient(String clientId) {
- return delegate.getGrantedConsentByClient(clientId);
+ public UserConsentModel getConsentByClient(String clientId) {
+ return delegate.getConsentByClient(clientId);
}
@Override
- public List<GrantedConsentModel> getGrantedConsents() {
- return delegate.getGrantedConsents();
+ public List<UserConsentModel> getConsents() {
+ return delegate.getConsents();
}
@Override
- public void updateGrantedConsent(GrantedConsentModel consent) {
- delegate.updateGrantedConsent(consent);
+ public void updateConsent(UserConsentModel consent) {
+ delegate.updateConsent(consent);
}
@Override
- public boolean revokeGrantedConsentForClient(String clientId) {
- return delegate.revokeGrantedConsentForClient(clientId);
+ public boolean revokeConsentForClient(String clientId) {
+ return delegate.revokeConsentForClient(clientId);
}
}
model/file/pom.xml 5(+0 -5)
diff --git a/model/file/pom.xml b/model/file/pom.xml
index bb55560..8574546 100755
--- a/model/file/pom.xml
+++ b/model/file/pom.xml
@@ -17,28 +17,23 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-single-file</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-file</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
diff --git a/model/file/src/main/java/org/keycloak/models/file/adapter/ClientAdapter.java b/model/file/src/main/java/org/keycloak/models/file/adapter/ClientAdapter.java
index 0bfa992..7068a26 100755
--- a/model/file/src/main/java/org/keycloak/models/file/adapter/ClientAdapter.java
+++ b/model/file/src/main/java/org/keycloak/models/file/adapter/ClientAdapter.java
@@ -275,7 +275,8 @@ public class ClientAdapter implements ClientModel {
throw new RuntimeException("protocol mapper name must be unique per protocol");
}
ProtocolMapperEntity entity = new ProtocolMapperEntity();
- entity.setId(KeycloakModelUtils.generateId());
+ String id = model.getId() != null ? model.getId() : KeycloakModelUtils.generateId();
+ entity.setId(id);
entity.setProtocol(model.getProtocol());
entity.setName(model.getName());
entity.setProtocolMapper(model.getProtocolMapper());
diff --git a/model/file/src/main/java/org/keycloak/models/file/adapter/UserAdapter.java b/model/file/src/main/java/org/keycloak/models/file/adapter/UserAdapter.java
index 2557583..6e622cc 100755
--- a/model/file/src/main/java/org/keycloak/models/file/adapter/UserAdapter.java
+++ b/model/file/src/main/java/org/keycloak/models/file/adapter/UserAdapter.java
@@ -18,8 +18,11 @@ package org.keycloak.models.file.adapter;
import org.keycloak.connections.file.InMemoryModel;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+
+import static org.keycloak.models.utils.Pbkdf2PasswordEncoder.getSalt;
+
import org.keycloak.models.ModelDuplicateException;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -430,30 +433,29 @@ public class UserAdapter implements UserModel, Comparable {
}
@Override
- public GrantedConsentModel addGrantedConsent(GrantedConsentModel consent) {
+ public void addConsent(UserConsentModel consent) {
// TODO
- return null;
}
@Override
- public GrantedConsentModel getGrantedConsentByClient(String clientId) {
+ public UserConsentModel getConsentByClient(String clientId) {
// TODO
return null;
}
@Override
- public List<GrantedConsentModel> getGrantedConsents() {
+ public List<UserConsentModel> getConsents() {
// TODO
return null;
}
@Override
- public void updateGrantedConsent(GrantedConsentModel consent) {
+ public void updateConsent(UserConsentModel consent) {
// TODO
}
@Override
- public boolean revokeGrantedConsentForClient(String clientId) {
+ public boolean revokeConsentForClient(String clientId) {
// TODO
return false;
}
diff --git a/model/invalidation-cache/infinispan/pom.xml b/model/invalidation-cache/infinispan/pom.xml
index ce7d1a6..94f8963 100755
--- a/model/invalidation-cache/infinispan/pom.xml
+++ b/model/invalidation-cache/infinispan/pom.xml
@@ -17,17 +17,14 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-model</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-infinispan</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
diff --git a/model/invalidation-cache/model-adapters/pom.xml b/model/invalidation-cache/model-adapters/pom.xml
index db74f1a..5f2f019 100755
--- a/model/invalidation-cache/model-adapters/pom.xml
+++ b/model/invalidation-cache/model-adapters/pom.xml
@@ -27,13 +27,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
diff --git a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/UserAdapter.java b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/UserAdapter.java
index 97b62fc..10336fd 100755
--- a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/UserAdapter.java
+++ b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/UserAdapter.java
@@ -1,7 +1,7 @@
package org.keycloak.models.cache;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleContainerModel;
@@ -277,34 +277,34 @@ public class UserAdapter implements UserModel {
}
@Override
- public GrantedConsentModel addGrantedConsent(GrantedConsentModel consent) {
+ public void addConsent(UserConsentModel consent) {
getDelegateForUpdate();
- return updated.addGrantedConsent(consent);
+ updated.addConsent(consent);
}
@Override
- public GrantedConsentModel getGrantedConsentByClient(String clientId) {
+ public UserConsentModel getConsentByClient(String clientId) {
// TODO: caching?
getDelegateForUpdate();
- return updated.getGrantedConsentByClient(clientId);
+ return updated.getConsentByClient(clientId);
}
@Override
- public List<GrantedConsentModel> getGrantedConsents() {
+ public List<UserConsentModel> getConsents() {
// TODO: caching?
getDelegateForUpdate();
- return updated.getGrantedConsents();
+ return updated.getConsents();
}
@Override
- public void updateGrantedConsent(GrantedConsentModel consent) {
+ public void updateConsent(UserConsentModel consent) {
getDelegateForUpdate();
- updated.updateGrantedConsent(consent);
+ updated.updateConsent(consent);
}
@Override
- public boolean revokeGrantedConsentForClient(String clientId) {
+ public boolean revokeConsentForClient(String clientId) {
getDelegateForUpdate();
- return updated.revokeGrantedConsentForClient(clientId);
+ return updated.revokeConsentForClient(clientId);
}
}
model/jpa/pom.xml 6(+0 -6)
diff --git a/model/jpa/pom.xml b/model/jpa/pom.xml
index 8842b97..e3f5525 100755
--- a/model/jpa/pom.xml
+++ b/model/jpa/pom.xml
@@ -27,23 +27,19 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-model</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -54,13 +50,11 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>${hibernate.entitymanager.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-sessions-mem</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
index fae5553..b290e48 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/ClientAdapter.java
@@ -293,7 +293,7 @@ public class ClientAdapter implements ClientModel {
if (getProtocolMapperByName(model.getProtocol(), model.getName()) != null) {
throw new RuntimeException("protocol mapper name must be unique per protocol");
}
- String id = KeycloakModelUtils.generateId();
+ String id = model.getId() != null ? model.getId() : KeycloakModelUtils.generateId();
ProtocolMapperEntity entity = new ProtocolMapperEntity();
entity.setId(id);
entity.setName(model.getName());
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
index 15300d0..d0af512 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserProvider.java
@@ -88,9 +88,9 @@ public class JpaUserProvider implements UserProvider {
private void removeUser(UserEntity user) {
em.createNamedQuery("deleteUserRoleMappingsByUser").setParameter("user", user).executeUpdate();
em.createNamedQuery("deleteFederatedIdentityByUser").setParameter("user", user).executeUpdate();
- em.createNamedQuery("deleteGrantedConsentRolesByUser").setParameter("user", user).executeUpdate();
- em.createNamedQuery("deleteGrantedConsentProtMappersByUser").setParameter("user", user).executeUpdate();
- em.createNamedQuery("deleteGrantedConsentsByUser").setParameter("user", user).executeUpdate();
+ em.createNamedQuery("deleteUserConsentRolesByUser").setParameter("user", user).executeUpdate();
+ em.createNamedQuery("deleteUserConsentProtMappersByUser").setParameter("user", user).executeUpdate();
+ em.createNamedQuery("deleteUserConsentsByUser").setParameter("user", user).executeUpdate();
em.remove(user);
}
@@ -134,11 +134,11 @@ public class JpaUserProvider implements UserProvider {
@Override
public void preRemove(RealmModel realm) {
- int num = em.createNamedQuery("deleteGrantedConsentRolesByRealm")
+ int num = em.createNamedQuery("deleteUserConsentRolesByRealm")
.setParameter("realmId", realm.getId()).executeUpdate();
- num = em.createNamedQuery("deleteGrantedConsentProtMappersByRealm")
+ num = em.createNamedQuery("deleteUserConsentProtMappersByRealm")
.setParameter("realmId", realm.getId()).executeUpdate();
- num = em.createNamedQuery("deleteGrantedConsentsByRealm")
+ num = em.createNamedQuery("deleteUserConsentsByRealm")
.setParameter("realmId", realm.getId()).executeUpdate();
num = em.createNamedQuery("deleteUserRoleMappingsByRealm")
.setParameter("realmId", realm.getId()).executeUpdate();
@@ -184,20 +184,20 @@ public class JpaUserProvider implements UserProvider {
@Override
public void preRemove(RealmModel realm, RoleModel role) {
- em.createNamedQuery("deleteGrantedConsentRolesByRole").setParameter("roleId", role.getId()).executeUpdate();
+ em.createNamedQuery("deleteUserConsentRolesByRole").setParameter("roleId", role.getId()).executeUpdate();
em.createNamedQuery("deleteUserRoleMappingsByRole").setParameter("roleId", role.getId()).executeUpdate();
}
@Override
public void preRemove(RealmModel realm, ClientModel client) {
- em.createNamedQuery("deleteGrantedConsentProtMappersByClient").setParameter("clientId", client.getId()).executeUpdate();
- em.createNamedQuery("deleteGrantedConsentRolesByClient").setParameter("clientId", client.getId()).executeUpdate();
- em.createNamedQuery("deleteGrantedConsentsByClient").setParameter("clientId", client.getId()).executeUpdate();
+ em.createNamedQuery("deleteUserConsentProtMappersByClient").setParameter("clientId", client.getId()).executeUpdate();
+ em.createNamedQuery("deleteUserConsentRolesByClient").setParameter("clientId", client.getId()).executeUpdate();
+ em.createNamedQuery("deleteUserConsentsByClient").setParameter("clientId", client.getId()).executeUpdate();
}
@Override
public void preRemove(ClientModel client, ProtocolMapperModel protocolMapper) {
- em.createNamedQuery("deleteGrantedConsentProtMappersByProtocolMapper")
+ em.createNamedQuery("deleteUserConsentProtMappersByProtocolMapper")
.setParameter("protocolMapperId", protocolMapper.getId())
.executeUpdate();
}
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 cd3c427..8cc29f7 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
@@ -1,7 +1,8 @@
package org.keycloak.models.jpa;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.ModelDuplicateException;
import org.keycloak.models.ModelException;
import org.keycloak.models.PasswordPolicy;
@@ -12,9 +13,9 @@ import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.jpa.entities.CredentialEntity;
-import org.keycloak.models.jpa.entities.GrantedConsentEntity;
-import org.keycloak.models.jpa.entities.GrantedConsentProtocolMapperEntity;
-import org.keycloak.models.jpa.entities.GrantedConsentRoleEntity;
+import org.keycloak.models.jpa.entities.UserConsentEntity;
+import org.keycloak.models.jpa.entities.UserConsentProtocolMapperEntity;
+import org.keycloak.models.jpa.entities.UserConsentRoleEntity;
import org.keycloak.models.jpa.entities.UserAttributeEntity;
import org.keycloak.models.jpa.entities.UserEntity;
import org.keycloak.models.jpa.entities.UserRequiredActionEntity;
@@ -25,10 +26,12 @@ import org.keycloak.util.Time;
import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -478,18 +481,15 @@ public class UserAdapter implements UserModel {
}
@Override
- public GrantedConsentModel addGrantedConsent(GrantedConsentModel consent) {
- String clientId = consent.getClientId();
- if (clientId == null) {
- throw new ModelException("clientId needs to be filled for newly added consent!");
- }
+ public void addConsent(UserConsentModel consent) {
+ String clientId = consent.getClient().getId();
- GrantedConsentEntity consentEntity = getGrantedConsentEntity(clientId);
+ UserConsentEntity consentEntity = getGrantedConsentEntity(clientId);
if (consentEntity != null) {
throw new ModelDuplicateException("Consent already exists for client [" + clientId + "] and user [" + user.getId() + "]");
}
- consentEntity = new GrantedConsentEntity();
+ consentEntity = new UserConsentEntity();
consentEntity.setId(KeycloakModelUtils.generateId());
consentEntity.setUser(user);
consentEntity.setClientId(clientId);
@@ -497,38 +497,33 @@ public class UserAdapter implements UserModel {
em.flush();
updateGrantedConsentEntity(consentEntity, consent);
-
- return consent;
}
@Override
- public GrantedConsentModel getGrantedConsentByClient(String clientId) {
- GrantedConsentEntity entity = getGrantedConsentEntity(clientId);
+ public UserConsentModel getConsentByClient(String clientId) {
+ UserConsentEntity entity = getGrantedConsentEntity(clientId);
return toConsentModel(entity);
}
@Override
- public List<GrantedConsentModel> getGrantedConsents() {
- TypedQuery<GrantedConsentEntity> query = em.createNamedQuery("grantedConsentsByUser", GrantedConsentEntity.class);
+ public List<UserConsentModel> getConsents() {
+ TypedQuery<UserConsentEntity> query = em.createNamedQuery("userConsentsByUser", UserConsentEntity.class);
query.setParameter("userId", getId());
- List<GrantedConsentEntity> results = query.getResultList();
+ List<UserConsentEntity> results = query.getResultList();
- List<GrantedConsentModel> consents = new ArrayList<GrantedConsentModel>();
- for (GrantedConsentEntity entity : results) {
- GrantedConsentModel model = toConsentModel(entity);
+ List<UserConsentModel> consents = new ArrayList<UserConsentModel>();
+ for (UserConsentEntity entity : results) {
+ UserConsentModel model = toConsentModel(entity);
consents.add(model);
}
return consents;
}
@Override
- public void updateGrantedConsent(GrantedConsentModel consent) {
- String clientId = consent.getClientId();
- if (clientId == null) {
- throw new ModelException("clientId needs to be for newly added consent!");
- }
+ public void updateConsent(UserConsentModel consent) {
+ String clientId = consent.getClient().getId();
- GrantedConsentEntity consentEntity = getGrantedConsentEntity(clientId);
+ UserConsentEntity consentEntity = getGrantedConsentEntity(clientId);
if (consentEntity == null) {
throw new ModelException("Consent not found for client [" + clientId + "] and user [" + user.getId() + "]");
}
@@ -537,8 +532,8 @@ public class UserAdapter implements UserModel {
}
@Override
- public boolean revokeGrantedConsentForClient(String clientId) {
- GrantedConsentEntity consentEntity = getGrantedConsentEntity(clientId);
+ public boolean revokeConsentForClient(String clientId) {
+ UserConsentEntity consentEntity = getGrantedConsentEntity(clientId);
if (consentEntity == null) return false;
em.remove(consentEntity);
@@ -547,11 +542,11 @@ public class UserAdapter implements UserModel {
}
- private GrantedConsentEntity getGrantedConsentEntity(String clientId) {
- TypedQuery<GrantedConsentEntity> query = em.createNamedQuery("grantedConsentByUserAndClient", GrantedConsentEntity.class);
+ private UserConsentEntity getGrantedConsentEntity(String clientId) {
+ TypedQuery<UserConsentEntity> query = em.createNamedQuery("userConsentByUserAndClient", UserConsentEntity.class);
query.setParameter("userId", getId());
query.setParameter("clientId", clientId);
- List<GrantedConsentEntity> results = query.getResultList();
+ List<UserConsentEntity> results = query.getResultList();
if (results.size() > 1) {
throw new ModelException("More results found for user [" + getUsername() + "] and client [" + clientId + "]");
} else if (results.size() == 1) {
@@ -561,23 +556,23 @@ public class UserAdapter implements UserModel {
}
}
- private GrantedConsentModel toConsentModel(GrantedConsentEntity entity) {
+ private UserConsentModel toConsentModel(UserConsentEntity entity) {
if (entity == null) {
return null;
}
- GrantedConsentModel model = new GrantedConsentModel(entity.getClientId());
+ UserConsentModel model = new UserConsentModel(realm, entity.getClientId());
- Collection<GrantedConsentRoleEntity> grantedRoleEntities = entity.getGrantedRoles();
+ Collection<UserConsentRoleEntity> grantedRoleEntities = entity.getGrantedRoles();
if (grantedRoleEntities != null) {
- for (GrantedConsentRoleEntity grantedRole : grantedRoleEntities) {
+ for (UserConsentRoleEntity grantedRole : grantedRoleEntities) {
model.addGrantedRole(grantedRole.getRoleId());
}
}
- Collection<GrantedConsentProtocolMapperEntity> grantedProtocolMapperEntities = entity.getGrantedProtocolMappers();
+ Collection<UserConsentProtocolMapperEntity> grantedProtocolMapperEntities = entity.getGrantedProtocolMappers();
if (grantedProtocolMapperEntities != null) {
- for (GrantedConsentProtocolMapperEntity grantedProtMapper : grantedProtocolMapperEntities) {
+ for (UserConsentProtocolMapperEntity grantedProtMapper : grantedProtocolMapperEntities) {
model.addGrantedProtocolMapper(grantedProtMapper.getProtocolMapperId());
}
}
@@ -586,14 +581,14 @@ public class UserAdapter implements UserModel {
}
// Update roles and protocolMappers to given consentEntity from the consentModel
- private void updateGrantedConsentEntity(GrantedConsentEntity consentEntity, GrantedConsentModel consentModel) {
- Collection<GrantedConsentProtocolMapperEntity> grantedProtocolMapperEntities = consentEntity.getGrantedProtocolMappers();
- Collection<GrantedConsentProtocolMapperEntity> mappersToRemove = new HashSet<GrantedConsentProtocolMapperEntity>(grantedProtocolMapperEntities);
+ private void updateGrantedConsentEntity(UserConsentEntity consentEntity, UserConsentModel consentModel) {
+ Collection<UserConsentProtocolMapperEntity> grantedProtocolMapperEntities = consentEntity.getGrantedProtocolMappers();
+ Collection<UserConsentProtocolMapperEntity> mappersToRemove = new HashSet<UserConsentProtocolMapperEntity>(grantedProtocolMapperEntities);
- for (String protocolMapperId : consentModel.getGrantedProtocolMappers()) {
- GrantedConsentProtocolMapperEntity grantedProtocolMapperEntity = new GrantedConsentProtocolMapperEntity();
- grantedProtocolMapperEntity.setGrantedConsent(consentEntity);
- grantedProtocolMapperEntity.setProtocolMapperId(protocolMapperId);
+ for (ProtocolMapperModel protocolMapper : consentModel.getGrantedProtocolMappers()) {
+ UserConsentProtocolMapperEntity grantedProtocolMapperEntity = new UserConsentProtocolMapperEntity();
+ grantedProtocolMapperEntity.setUserConsent(consentEntity);
+ grantedProtocolMapperEntity.setProtocolMapperId(protocolMapper.getId());
// Check if it's already there
if (!grantedProtocolMapperEntities.contains(grantedProtocolMapperEntity)) {
@@ -605,17 +600,17 @@ public class UserAdapter implements UserModel {
}
}
// Those mappers were no longer on consentModel and will be removed
- for (GrantedConsentProtocolMapperEntity toRemove : mappersToRemove) {
+ for (UserConsentProtocolMapperEntity toRemove : mappersToRemove) {
grantedProtocolMapperEntities.remove(toRemove);
em.remove(toRemove);
}
- Collection<GrantedConsentRoleEntity> grantedRoleEntities = consentEntity.getGrantedRoles();
- Set<GrantedConsentRoleEntity> rolesToRemove = new HashSet<GrantedConsentRoleEntity>(grantedRoleEntities);
- for (String roleId : consentModel.getGrantedRoles()) {
- GrantedConsentRoleEntity consentRoleEntity = new GrantedConsentRoleEntity();
- consentRoleEntity.setGrantedConsent(consentEntity);
- consentRoleEntity.setRoleId(roleId);
+ Collection<UserConsentRoleEntity> grantedRoleEntities = consentEntity.getGrantedRoles();
+ Set<UserConsentRoleEntity> rolesToRemove = new HashSet<UserConsentRoleEntity>(grantedRoleEntities);
+ for (RoleModel role : consentModel.getGrantedRoles()) {
+ UserConsentRoleEntity consentRoleEntity = new UserConsentRoleEntity();
+ consentRoleEntity.setUserConsent(consentEntity);
+ consentRoleEntity.setRoleId(role.getId());
// Check if it's already there
if (!grantedRoleEntities.contains(consentRoleEntity)) {
@@ -627,7 +622,7 @@ public class UserAdapter implements UserModel {
}
}
// Those roles were no longer on consentModel and will be removed
- for (GrantedConsentRoleEntity toRemove : rolesToRemove) {
+ for (UserConsentRoleEntity toRemove : rolesToRemove) {
grantedRoleEntities.remove(toRemove);
em.remove(toRemove);
}
model/mongo/pom.xml 3(+0 -3)
diff --git a/model/mongo/pom.xml b/model/mongo/pom.xml
index 7db03e7..2c45c21 100755
--- a/model/mongo/pom.xml
+++ b/model/mongo/pom.xml
@@ -28,19 +28,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
index e8e6aa7..9eae9f0 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/ClientAdapter.java
@@ -303,7 +303,8 @@ public class ClientAdapter extends AbstractMongoAdapter<MongoClientEntity> imple
throw new RuntimeException("protocol mapper name must be unique per protocol");
}
ProtocolMapperEntity entity = new ProtocolMapperEntity();
- entity.setId(KeycloakModelUtils.generateId());
+ String id = model.getId() != null ? model.getId() : KeycloakModelUtils.generateId();
+ entity.setId(id);
entity.setProtocol(model.getProtocol());
entity.setName(model.getName());
entity.setProtocolMapper(model.getProtocolMapper());
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
index f71c797..83bc85c 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/adapters/MongoUserProvider.java
@@ -17,6 +17,7 @@ import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserProvider;
import org.keycloak.models.entities.FederatedIdentityEntity;
+import org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
import org.keycloak.models.utils.CredentialValidation;
@@ -43,7 +44,6 @@ public class MongoUserProvider implements UserProvider {
@Override
public void close() {
- // TODO
}
@Override
@@ -274,11 +274,7 @@ public class MongoUserProvider implements UserProvider {
@Override
public boolean removeUser(RealmModel realm, UserModel user) {
- DBObject query = new QueryBuilder()
- .and("_id").is(user.getId())
- .and("realmId").is(realm.getId())
- .get();
- return getMongoStore().removeEntities(MongoUserEntity.class, query, invocationContext);
+ return getMongoStore().removeEntity(MongoUserEntity.class, user.getId(), invocationContext);
}
@@ -339,32 +335,60 @@ public class MongoUserProvider implements UserProvider {
DBObject query = new QueryBuilder()
.and("realmId").is(realm.getId())
.get();
- getMongoStore().removeEntities(MongoUserEntity.class, query, invocationContext);
+ getMongoStore().removeEntities(MongoUserEntity.class, query, true, invocationContext);
}
@Override
public void preRemove(RealmModel realm, UserFederationProviderModel link) {
+ // Remove all users linked with federationProvider and their consents
DBObject query = new QueryBuilder()
.and("realmId").is(realm.getId())
.and("federationLink").is(link.getId())
.get();
- getMongoStore().removeEntities(MongoUserEntity.class, query, invocationContext);
+ getMongoStore().removeEntities(MongoUserEntity.class, query, true, invocationContext);
}
@Override
public void preRemove(RealmModel realm, ClientModel client) {
- // TODO
+ // Remove all role mappings and consents mapped to all roles of this client
+ for (RoleModel role : client.getRoles()) {
+ preRemove(realm, role);
+ }
+
+ // Finally remove all consents of this client
+ DBObject query = new QueryBuilder()
+ .and("clientId").is(client.getId())
+ .get();
+ getMongoStore().removeEntities(MongoUserConsentEntity.class, query, false, invocationContext);
}
@Override
public void preRemove(ClientModel client, ProtocolMapperModel protocolMapper) {
- // TODO
+ // Remove this protocol mapper from all consents, which has it
+ DBObject query = new QueryBuilder()
+ .and("grantedProtocolMappers").is(protocolMapper.getId())
+ .get();
+ DBObject pull = new BasicDBObject("$pull", query);
+ getMongoStore().updateEntities(MongoUserEntity.class, query, pull, invocationContext);
}
@Override
public void preRemove(RealmModel realm, RoleModel role) {
- // todo not sure what to do for this
+ // Remove this role from all users, which has it
+ DBObject query = new QueryBuilder()
+ .and("roleIds").is(role.getId())
+ .get();
+
+ DBObject pull = new BasicDBObject("$pull", query);
+ getMongoStore().updateEntities(MongoUserEntity.class, query, pull, invocationContext);
+
+ // Remove this role from all consents, which has it
+ query = new QueryBuilder()
+ .and("grantedRoles").is(role.getId())
+ .get();
+ pull = new BasicDBObject("$pull", query);
+ getMongoStore().updateEntities(MongoUserConsentEntity.class, query, pull, invocationContext);
}
@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 d7e61f6..b054793 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
@@ -1,9 +1,16 @@
package org.keycloak.models.mongo.keycloak.adapters;
+import static org.keycloak.models.utils.Pbkdf2PasswordEncoder.getSalt;
+
+import com.mongodb.DBObject;
+import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
import org.keycloak.models.ClientModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.ProtocolMapperModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.KeycloakSession;
+import org.keycloak.models.ModelDuplicateException;
+import org.keycloak.models.ModelException;
import org.keycloak.models.PasswordPolicy;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RoleModel;
@@ -11,7 +18,9 @@ import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserCredentialValueModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.entities.CredentialEntity;
+import org.keycloak.models.entities.UserConsentEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
+import org.keycloak.models.mongo.keycloak.entities.MongoUserConsentEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
import org.keycloak.models.mongo.utils.MongoModelUtils;
import org.keycloak.models.utils.Pbkdf2PasswordEncoder;
@@ -22,12 +31,11 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import static org.keycloak.models.utils.Pbkdf2PasswordEncoder.getSalt;
-
/**
* Wrapper around UserData object, which will persist wrapped object after each set operation (compatibility with picketlink based idm)
*
@@ -359,30 +367,18 @@ public class UserAdapter extends AbstractMongoAdapter<MongoUserEntity> implement
@Override
public Set<RoleModel> getRoleMappings() {
- Set<RoleModel> result = new HashSet<RoleModel>();
- List<MongoRoleEntity> roles = MongoModelUtils.getAllRolesOfUser(this, invocationContext);
-
- for (MongoRoleEntity role : roles) {
- if (realm.getId().equals(role.getRealmId())) {
- result.add(new RoleAdapter(session, realm, role, realm, invocationContext));
- } else {
- // Likely applicationRole, but we don't have this application yet
- result.add(new RoleAdapter(session, realm, role, invocationContext));
- }
- }
- return result;
+ List<RoleModel> roles = MongoModelUtils.getAllRolesOfUser(realm, this);
+ return new HashSet<RoleModel>(roles);
}
@Override
public Set<RoleModel> getRealmRoleMappings() {
Set<RoleModel> allRoles = getRoleMappings();
- // Filter to retrieve just realm roles TODO: Maybe improve to avoid filter programmatically... Maybe have separate fields for realmRoles and appRoles on user?
+ // Filter to retrieve just realm roles
Set<RoleModel> realmRoles = new HashSet<RoleModel>();
for (RoleModel role : allRoles) {
- MongoRoleEntity roleEntity = ((RoleAdapter) role).getRole();
-
- if (realm.getId().equals(roleEntity.getRealmId())) {
+ if (role.getContainer() instanceof RealmModel) {
realmRoles.add(role);
}
}
@@ -399,11 +395,11 @@ public class UserAdapter extends AbstractMongoAdapter<MongoUserEntity> implement
@Override
public Set<RoleModel> getClientRoleMappings(ClientModel app) {
Set<RoleModel> result = new HashSet<RoleModel>();
- List<MongoRoleEntity> roles = MongoModelUtils.getAllRolesOfUser(this, invocationContext);
+ List<RoleModel> roles = MongoModelUtils.getAllRolesOfUser(realm, this);
- for (MongoRoleEntity role : roles) {
- if (app.getId().equals(role.getClientId())) {
- result.add(new RoleAdapter(session, realm, role, app, invocationContext));
+ for (RoleModel role : roles) {
+ if (app.equals(role.getContainer())) {
+ result.add(role);
}
}
return result;
@@ -421,32 +417,96 @@ public class UserAdapter extends AbstractMongoAdapter<MongoUserEntity> implement
}
@Override
- public GrantedConsentModel addGrantedConsent(GrantedConsentModel consent) {
- // TODO
- return null;
+ public void addConsent(UserConsentModel consent) {
+ String clientId = consent.getClient().getId();
+ if (getConsentEntityByClientId(clientId) != null) {
+ throw new ModelDuplicateException("Consent already exists for client [" + clientId + "] and user [" + user.getId() + "]");
+ }
+
+ MongoUserConsentEntity consentEntity = new MongoUserConsentEntity();
+ consentEntity.setUserId(getId());
+ consentEntity.setClientId(clientId);
+ fillEntityFromModel(consent, consentEntity);
+ getMongoStore().insertEntity(consentEntity, invocationContext);
}
@Override
- public GrantedConsentModel getGrantedConsentByClient(String clientId) {
- // TODO
- return null;
+ public UserConsentModel getConsentByClient(String clientId) {
+ UserConsentEntity consentEntity = getConsentEntityByClientId(clientId);
+ return consentEntity!=null ? toConsentModel(consentEntity) : null;
}
@Override
- public List<GrantedConsentModel> getGrantedConsents() {
- // TODO
- return null;
+ public List<UserConsentModel> getConsents() {
+ List<UserConsentModel> result = new ArrayList<UserConsentModel>();
+
+ DBObject query = new QueryBuilder()
+ .and("userId").is(getId())
+ .get();
+ List<MongoUserConsentEntity> grantedConsents = getMongoStore().loadEntities(MongoUserConsentEntity.class, query, invocationContext);
+
+ for (UserConsentEntity consentEntity : grantedConsents) {
+ UserConsentModel model = toConsentModel(consentEntity);
+ result.add(model);
+ }
+
+ return result;
+ }
+
+ private MongoUserConsentEntity getConsentEntityByClientId(String clientId) {
+ DBObject query = new QueryBuilder()
+ .and("userId").is(getId())
+ .and("clientId").is(clientId)
+ .get();
+ return getMongoStore().loadSingleEntity(MongoUserConsentEntity.class, query, invocationContext);
+ }
+
+ private UserConsentModel toConsentModel(UserConsentEntity entity) {
+ UserConsentModel model = new UserConsentModel(realm, entity.getClientId());
+ for (String roleId : entity.getGrantedRoles()) {
+ model.addGrantedRole(roleId);
+ }
+ for (String protMapperId : entity.getGrantedProtocolMappers()) {
+ model.addGrantedProtocolMapper(protMapperId);
+ }
+ return model;
+ }
+
+ // Fill roles and protocolMappers to entity
+ private void fillEntityFromModel(UserConsentModel consent, MongoUserConsentEntity consentEntity) {
+ List<String> roleIds = new LinkedList<String>();
+ for (RoleModel role : consent.getGrantedRoles()) {
+ roleIds.add(role.getId());
+ }
+ consentEntity.setGrantedRoles(roleIds);
+
+ List<String> protMapperIds = new LinkedList<String>();
+ for (ProtocolMapperModel protMapperModel : consent.getGrantedProtocolMappers()) {
+ protMapperIds.add(protMapperModel.getId());
+ }
+ consentEntity.setGrantedProtocolMappers(protMapperIds);
}
@Override
- public void updateGrantedConsent(GrantedConsentModel consent) {
- // TODO
+ public void updateConsent(UserConsentModel consent) {
+ String clientId = consent.getClient().getId();
+ MongoUserConsentEntity consentEntity = getConsentEntityByClientId(clientId);
+ if (consentEntity == null) {
+ throw new ModelException("Consent not found for client [" + clientId + "] and user [" + user.getId() + "]");
+ } else {
+ fillEntityFromModel(consent, consentEntity);
+ getMongoStore().updateEntity(consentEntity, invocationContext);
+ }
}
@Override
- public boolean revokeGrantedConsentForClient(String clientId) {
- // TODO
- return false;
+ public boolean revokeConsentForClient(String clientId) {
+ MongoUserConsentEntity entity = getConsentEntityByClientId(clientId);
+ if (entity == null) {
+ return false;
+ }
+
+ return getMongoStore().removeEntity(entity, invocationContext);
}
@Override
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
index cc97d5d..8c12715 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoClientEntity.java
@@ -19,6 +19,6 @@ public class MongoClientEntity extends ClientEntity implements MongoIdentifiable
DBObject query = new QueryBuilder()
.and("clientId").is(getId())
.get();
- context.getMongoStore().removeEntities(MongoRoleEntity.class, query, context);
+ context.getMongoStore().removeEntities(MongoRoleEntity.class, query, true, context);
}
}
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
index 2209751..a64c2b5 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRealmEntity.java
@@ -19,13 +19,10 @@ public class MongoRealmEntity extends RealmEntity implements MongoIdentifiableEn
.and("realmId").is(getId())
.get();
- // Remove all users of this realm
- context.getMongoStore().removeEntities(MongoUserEntity.class, query, context);
-
// Remove all roles of this realm
- context.getMongoStore().removeEntities(MongoRoleEntity.class, query, context);
+ context.getMongoStore().removeEntities(MongoRoleEntity.class, query, true, context);
- // Remove all applications of this realm
- context.getMongoStore().removeEntities(MongoClientEntity.class, query, context);
+ // Remove all clients of this realm
+ context.getMongoStore().removeEntities(MongoClientEntity.class, query, true, context);
}
}
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
index dc820c2..2021069 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoRoleEntity.java
@@ -41,26 +41,15 @@ public class MongoRoleEntity extends RoleEntity implements MongoIdentifiableEnti
public void afterRemove(MongoStoreInvocationContext invContext) {
MongoStore mongoStore = invContext.getMongoStore();
- // Remove this role from all users, which has it
+ // Remove this scope from all clients, which has it
DBObject query = new QueryBuilder()
- .and("roleIds").is(getId())
- .get();
-
- List<MongoUserEntity> users = mongoStore.loadEntities(MongoUserEntity.class, query, invContext);
- for (MongoUserEntity user : users) {
- //logger.info("Removing role " + getName() + " from user " + user.getUsername());
- mongoStore.pullItemFromList(user, "roleIds", getId(), invContext);
- }
-
- // Remove this scope from all users, which has it
- query = new QueryBuilder()
.and("scopeIds").is(getId())
.get();
- users = mongoStore.loadEntities(MongoUserEntity.class, query, invContext);
- for (MongoUserEntity user : users) {
+ List<MongoClientEntity> clients = mongoStore.loadEntities(MongoClientEntity.class, query, invContext);
+ for (MongoClientEntity client : clients) {
//logger.info("Removing scope " + getName() + " from user " + user.getUsername());
- mongoStore.pullItemFromList(user, "scopeIds", getId(), invContext);
+ mongoStore.pullItemFromList(client, "scopeIds", getId(), invContext);
}
// Remove defaultRoles from realm
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java
new file mode 100644
index 0000000..16e0026
--- /dev/null
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserConsentEntity.java
@@ -0,0 +1,17 @@
+package org.keycloak.models.mongo.keycloak.entities;
+
+import org.keycloak.connections.mongo.api.MongoCollection;
+import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
+import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
+import org.keycloak.models.entities.UserConsentEntity;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+@MongoCollection(collectionName = "userConsents")
+public class MongoUserConsentEntity extends UserConsentEntity implements MongoIdentifiableEntity {
+
+ @Override
+ public void afterRemove(MongoStoreInvocationContext invocationContext) {
+ }
+}
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
index c9f317e..d1700d8 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/keycloak/entities/MongoUserEntity.java
@@ -1,5 +1,7 @@
package org.keycloak.models.mongo.keycloak.entities;
+import com.mongodb.DBObject;
+import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.MongoCollection;
import org.keycloak.connections.mongo.api.MongoIdentifiableEntity;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
@@ -19,6 +21,12 @@ public class MongoUserEntity extends UserEntity implements MongoIdentifiableEnti
}
@Override
- public void afterRemove(MongoStoreInvocationContext invocationContext) {
+ public void afterRemove(MongoStoreInvocationContext context) {
+ // Remove all consents of this user
+ DBObject query = new QueryBuilder()
+ .and("userId").is(getId())
+ .get();
+
+ context.getMongoStore().removeEntities(MongoUserConsentEntity.class, query, true, context);
}
}
diff --git a/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java b/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
index 48828de..02923cf 100755
--- a/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
+++ b/model/mongo/src/main/java/org/keycloak/models/mongo/utils/MongoModelUtils.java
@@ -4,6 +4,8 @@ import com.mongodb.DBObject;
import com.mongodb.QueryBuilder;
import org.keycloak.connections.mongo.api.context.MongoStoreInvocationContext;
import org.keycloak.models.ClientModel;
+import org.keycloak.models.RealmModel;
+import org.keycloak.models.RoleModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.entities.ClientEntity;
import org.keycloak.models.mongo.keycloak.adapters.ClientAdapter;
@@ -12,6 +14,7 @@ import org.keycloak.models.mongo.keycloak.entities.MongoRoleEntity;
import org.keycloak.models.mongo.keycloak.entities.MongoUserEntity;
import java.util.Collections;
+import java.util.LinkedList;
import java.util.List;
/**
@@ -20,18 +23,22 @@ import java.util.List;
public class MongoModelUtils {
// Get everything including both application and realm roles
- public static List<MongoRoleEntity> getAllRolesOfUser(UserModel user, MongoStoreInvocationContext invContext) {
+ public static List<RoleModel> getAllRolesOfUser(RealmModel realm, UserModel user) {
MongoUserEntity userEntity = ((UserAdapter)user).getUser();
List<String> roleIds = userEntity.getRoleIds();
if (roleIds == null || roleIds.isEmpty()) {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
- DBObject query = new QueryBuilder()
- .and("_id").in(roleIds)
- .get();
- return invContext.getMongoStore().loadEntities(MongoRoleEntity.class, query, invContext);
+ List<RoleModel> roles = new LinkedList<RoleModel>();
+ for (String roleId : roleIds) {
+ RoleModel role = realm.getRoleById(roleId);
+ if (role != null) {
+ roles.add(role);
+ }
+ }
+ return roles;
}
// Get everything including both application and realm scopes
@@ -40,7 +47,7 @@ public class MongoModelUtils {
List<String> scopeIds = scopedEntity.getScopeIds();
if (scopeIds == null || scopeIds.isEmpty()) {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
DBObject query = new QueryBuilder()
model/sessions-infinispan/pom.xml 3(+0 -3)
diff --git a/model/sessions-infinispan/pom.xml b/model/sessions-infinispan/pom.xml
index f3cb16b..0d8bb52 100755
--- a/model/sessions-infinispan/pom.xml
+++ b/model/sessions-infinispan/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-infinispan</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
model/sessions-jpa/pom.xml 4(+0 -4)
diff --git a/model/sessions-jpa/pom.xml b/model/sessions-jpa/pom.xml
index c91f2d8..4bbd999 100755
--- a/model/sessions-jpa/pom.xml
+++ b/model/sessions-jpa/pom.xml
@@ -17,19 +17,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-jpa</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -40,7 +37,6 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
- <version>${hibernate.entitymanager.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
model/sessions-mem/pom.xml 2(+0 -2)
diff --git a/model/sessions-mem/pom.xml b/model/sessions-mem/pom.xml
index 50458f6..fe46ff7 100755
--- a/model/sessions-mem/pom.xml
+++ b/model/sessions-mem/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
model/sessions-mongo/pom.xml 3(+0 -3)
diff --git a/model/sessions-mongo/pom.xml b/model/sessions-mongo/pom.xml
index d74a375..d9453c4 100755
--- a/model/sessions-mongo/pom.xml
+++ b/model/sessions-mongo/pom.xml
@@ -18,19 +18,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-connections-mongo</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
diff --git a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/entities/MongoUserSessionEntity.java b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/entities/MongoUserSessionEntity.java
index 5b7e8d3..0c637db 100755
--- a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/entities/MongoUserSessionEntity.java
+++ b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/entities/MongoUserSessionEntity.java
@@ -121,7 +121,7 @@ public class MongoUserSessionEntity extends AbstractIdentifiableEntity implement
DBObject query = new QueryBuilder()
.and("sessionId").is(getId())
.get();
- context.getMongoStore().removeEntities(MongoClientSessionEntity.class, query, context);
+ context.getMongoStore().removeEntities(MongoClientSessionEntity.class, query, true, context);
}
public Map<String, String> getNotes() {
diff --git a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
index 0bc5849..848fdeb 100755
--- a/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
+++ b/model/sessions-mongo/src/main/java/org/keycloak/models/sessions/mongo/MongoUserSessionProvider.java
@@ -194,18 +194,14 @@ public class MongoUserSessionProvider implements UserSessionProvider {
@Override
public void removeUserSessions(RealmModel realm, UserModel user) {
DBObject query = new BasicDBObject("user", user.getId());
- mongoStore.removeEntities(MongoUserSessionEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoUserSessionEntity.class, query, true, invocationContext);
}
@Override
public void removeUserSessions(RealmModel realm) {
DBObject query = new BasicDBObject("realmId", realm.getId());
- mongoStore.removeEntities(MongoUserSessionEntity.class, query, invocationContext);
- query = new QueryBuilder()
- .and("realmId").is(realm.getId())
- .get();
-
- mongoStore.removeEntities(MongoClientSessionEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoUserSessionEntity.class, query, false, invocationContext);
+ mongoStore.removeEntities(MongoClientSessionEntity.class, query, false, invocationContext);
}
@Override
@@ -216,20 +212,20 @@ public class MongoUserSessionProvider implements UserSessionProvider {
.and("started").lessThan(currentTime - realm.getSsoSessionMaxLifespan())
.get();
- mongoStore.removeEntities(MongoUserSessionEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoUserSessionEntity.class, query, true, invocationContext);
query = new QueryBuilder()
.and("realmId").is(realm.getId())
.and("lastSessionRefresh").lessThan(currentTime - realm.getSsoSessionIdleTimeout())
.get();
- mongoStore.removeEntities(MongoUserSessionEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoUserSessionEntity.class, query, true, invocationContext);
query = new QueryBuilder()
.and("sessionId").is(null)
.and("realmId").is(realm.getId())
.and("timestamp").lessThan(currentTime - RealmInfoUtil.getDettachedClientSessionLifespan(realm))
.get();
- mongoStore.removeEntities(MongoClientSessionEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoClientSessionEntity.class, query, false, invocationContext);
}
@Override
@@ -291,7 +287,7 @@ public class MongoUserSessionProvider implements UserSessionProvider {
.or(new BasicDBObject("username", user.getUsername()), new BasicDBObject("username", user.getEmail()))
.and("realmId").is(realm.getId())
.get();
- mongoStore.removeEntities(MongoUsernameLoginFailureEntity.class, query, invocationContext);
+ mongoStore.removeEntities(MongoUsernameLoginFailureEntity.class, query, true, invocationContext);
}
@Override
pom.xml 941(+564 -377)
diff --git a/pom.xml b/pom.xml
index 326ec90..c098507 100755
--- a/pom.xml
+++ b/pom.xml
@@ -2,6 +2,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-parent</artifactId>
+ <version>14</version>
+ </parent>
+
<name>Keycloak</name>
<description>
Keycloak SSO
@@ -12,16 +18,13 @@
<packaging>pom</packaging>
<properties>
- <aesh.version>0.33.12</aesh.version>
<apacheds.version>2.0.0-M17</apacheds.version>
<apacheds.codec.version>1.0.0-M23</apacheds.codec.version>
<base64.version>2.3.8</base64.version>
<bouncycastle.crypto.version>1.50</bouncycastle.crypto.version>
<jackson.version>1.9.9</jackson.version>
<keycloak.apache.httpcomponents.version>4.2.1</keycloak.apache.httpcomponents.version>
- <resteasy.version>2.3.7.Final</resteasy.version>
- <resteasy.version.latest>3.0.9.Final</resteasy.version.latest>
- <!-- <undertow.version>1.1.0.Final</undertow.version> -->
+ <resteasy.version>3.0.10.Final</resteasy.version>
<undertow.version>1.1.1.Final</undertow.version>
<picketlink.version>2.7.0.Final</picketlink.version>
<mongo.driver.version>2.11.3</mongo.driver.version>
@@ -53,11 +56,19 @@
<jetty9.version>9.1.0.v20131115</jetty9.version>
<osgi.version>4.2.0</osgi.version>
<pax.web.version>3.1.2</pax.web.version>
+ <jmeter.version>2.10</jmeter.version>
+ <junit.version>4.11</junit.version>
+ <hamcrest.version>1.3</hamcrest.version>
+ <log4j.version>1.2.17</log4j.version>
+ <greenmail.version>1.3.1b</greenmail.version>
+ <xmlsec.version>1.5.1</xmlsec.version>
- <!-- maven-compiler-plugin -->
- <maven.compiler.target>1.7</maven.compiler.target>
- <maven.compiler.source>1.7</maven.compiler.source>
-
+ <jboss.as.plugin.version>7.5.Final</jboss.as.plugin.version>
+ <wildfly.plugin.version>1.0.1.Final</wildfly.plugin.version>
+ <minify.plugin.version>1.7.2</minify.plugin.version>
+ <embedmongo.plugin.version>0.1.10</embedmongo.plugin.version>
+ <jmeter.plugin.version>1.9.0</jmeter.plugin.version>
+ <jmeter.analysis.plugin.version>1.0.4</jmeter.analysis.plugin.version>
</properties>
<url>http://keycloak.org</url>
@@ -122,9 +133,7 @@
<module>forms</module>
<module>examples</module>
<module>testsuite</module>
- <module>server</module>
<module>timer</module>
- <module>project-integrations</module>
<module>export-import</module>
</modules>
@@ -151,17 +160,6 @@
<version>${javax.mail.version}</version>
</dependency>
<dependency>
- <groupId>org.jboss.aesh</groupId>
- <artifactId>aesh</artifactId>
- <version>${aesh.version}</version>
- <exclusions>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>${resteasy.version}</version>
@@ -184,22 +182,19 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>tjws</artifactId>
+ <artifactId>resteasy-undertow</artifactId>
<version>${resteasy.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
+ <artifactId>async-http-servlet-3.0</artifactId>
+ <version>${resteasy.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>io.undertow</groupId>
@@ -238,68 +233,9 @@
</dependency>
<dependency>
<groupId>org.picketlink</groupId>
- <artifactId>picketlink-common</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-api</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-impl</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-federation</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
<artifactId>picketlink-wildfly-common</artifactId>
<version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-tomcat-common</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-tomcat5-single</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-jbas-common</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-jbas7-single</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-simple-schema</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-config</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-api</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-impl</artifactId>
- <version>${picketlink.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -314,24 +250,18 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.17</version>
+ <version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.11</version>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <version>3.2</version>
+ <version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -343,6 +273,7 @@
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>${h2.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
@@ -350,26 +281,26 @@
<version>${hibernate.entitymanager.version}</version>
</dependency>
<dependency>
- <groupId>com.google.api-client</groupId>
- <artifactId>google-api-client</artifactId>
- <version>${google.client.version}</version>
- </dependency>
- <dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
-
- <!-- Google+ -->
<dependency>
- <groupId>com.google.http-client</groupId>
- <artifactId>google-http-client-jackson</artifactId>
- <version>${google.client.version}</version>
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ <version>${xmlsec.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
- <groupId>com.google.apis</groupId>
- <artifactId>google-api-services-oauth2</artifactId>
- <version>v2-rev35-1.14.1-beta</version>
+ <groupId>org.wildfly</groupId>
+ <artifactId>wildfly-dist</artifactId>
+ <version>${wildfly.version}</version>
+ <type>zip</type>
</dependency>
<!-- Twitter -->
@@ -395,7 +326,8 @@
<dependency>
<groupId>com.icegreen</groupId>
<artifactId>greenmail</artifactId>
- <version>1.3.1b</version>
+ <version>${greenmail.version}</version>
+ <scope>test</scope>
</dependency>
<!-- Encrypted ZIP -->
@@ -410,21 +342,25 @@
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-core-annotations</artifactId>
<version>${apacheds.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-interceptor-kerberos</artifactId>
<version>${apacheds.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-server-annotations</artifactId>
<version>${apacheds.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.api</groupId>
<artifactId>api-ldap-codec-standalone</artifactId>
<version>${apacheds.codec.version}</version>
+ <scope>test</scope>
</dependency>
<!-- Selenium -->
@@ -432,6 +368,7 @@
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>${selenium.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
@@ -442,22 +379,25 @@
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
- <version>2.11.2</version>
+ <version>${mongo.driver.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
- <version>2.10</version>
+ <version>${jmeter.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>${dom4j.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>${xml-apis.version}</version>
+ <scope>test</scope>
</dependency>
<!-- Older 1.5.10 binding required by embedded ApacheDS -->
<dependency>
@@ -469,21 +409,26 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
+ <scope>test</scope>
</dependency>
- <!-- Needed for picketlink perf test -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
+ <scope>test</scope>
</dependency>
- <!-- the dependency seems to override Resteasy 3.0.5's depending on 4.2.1
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${keycloak.apache.httpcomponents.version}</version>
</dependency>
- -->
<dependency>
<groupId>org.wildfly.core</groupId>
<artifactId>wildfly-controller</artifactId>
@@ -514,11 +459,6 @@
</dependency>
<dependency>
<groupId>org.wildfly.core</groupId>
- <artifactId>wildfly-cli</artifactId>
- <version>${wildfly.core.version}</version>
- </dependency>
- <dependency>
- <groupId>org.wildfly.core</groupId>
<artifactId>wildfly-core-feature-pack</artifactId>
<type>zip</type>
<version>${wildfly.core.version}</version>
@@ -537,6 +477,7 @@
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-processor</artifactId>
<version>${jboss-logging-tools.version}</version>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
@@ -563,29 +504,489 @@
<artifactId>pax-web-runtime</artifactId>
<version>${pax.web.version}</version>
</dependency>
+
+ <!-- keycloak -->
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-broker-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-broker-oidc</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-broker-saml</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-file</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-infinispan</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-jpa</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-jpa-liquibase</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-mongo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-connections-mongo-update</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-core-jaxrs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-email</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-jboss-logging</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-jpa</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-mongo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-events-syslog</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-export-import-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-export-import-dir</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-export-import-single-file</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-export-import-zip</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-kerberos-federation</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-ldap-federation</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-account-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-account-freemarker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-dependencies-server-min</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-dependencies-server-all</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-forms-common-freemarker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-forms-common-themes</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-email-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-email-freemarker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-adapter-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-admin-client</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-as7-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-installed-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jaxrs-oauth-client</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jboss-adapter-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jetty-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jetty81-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jetty91-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jetty92-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-as7-subsystem</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-subsystem</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-js-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-osgi-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-servlet-oauth-client</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-spring-boot-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-tomcat-core-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-tomcat6-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-tomcat7-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-tomcat8-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-undertow-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-wildfly-adapter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-wildfly-extensions</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-login-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-login-freemarker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-file</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-invalidation-cache-infinispan</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-invalidation-cache-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-jpa</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-mongo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-sessions-infinispan</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-sessions-jpa</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-sessions-mem</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-model-sessions-mongo</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>launcher</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-proxy-server</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-saml-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-saml-protocol</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-services</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-facebook</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-github</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-google</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-linkedin</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-stackoverflow</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-social-twitter</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-timer-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-timer-basic</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-jboss-modules</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-server-overlay</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak.subsystem</groupId>
+ <artifactId>keycloak-server</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-testsuite-integration</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-testsuite-integration</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-testsuite-tools</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>keycloak-testsuite-tools</artifactId>
+ <version>${project.version}</version>
+ <classifier>classes</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
+ <artifactId>federation-properties-example</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak.example.demo</groupId>
+ <artifactId>cxf-jaxws-example</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak.example.demo</groupId>
+ <artifactId>customer-portal-example</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak.example.demo</groupId>
+ <artifactId>product-portal-example</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ </dependency>
</dependencies>
</dependencyManagement>
<repositories>
+ <!-- for org.jboss.web:jbossweb -->
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
- <pluginRepositories>
- </pluginRepositories>
+
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.8</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.16</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-Xms512m -Xmx1024m -XX:MaxPermSize=512m</argLine>
@@ -593,165 +994,30 @@
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.1</version>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <encoding>utf-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <version>2.10.1</version>
- <configuration>
- <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
- <minmemory>128m</minmemory>
- <maxmemory>1024m</maxmemory>
- <quiet>false</quiet>
- <aggregate>true</aggregate>
- <excludePackageNames>
- com.restfully.*:org.jboss.resteasy.examples.*:se.unlogic.*:org.jboss.resteasy.tests.*:org.apache.*
- </excludePackageNames>
- <archive>
- <index>true</index>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Implementation-URL>${project.url}</Implementation-URL>
- <Java-Version>${java.version}</Java-Version>
- <Java-Vendor>${java.vendor}</Java-Vendor>
- <Os-Name>${os.name}</Os-Name>
- <Os-Arch>${os.arch}</Os-Arch>
- <Os-Version>${os.version}</Os-Version>
- <Scm-Url>${project.scm.url}</Scm-Url>
- <Scm-Connection>${project.scm.connection}</Scm-Connection>
- <Scm-Revision>${buildNumber}</Scm-Revision>
- <Build-Timestamp>${build.datetime}</Build-Timestamp>
- <Specification-Vendor>JBoss (http://www.jboss.org/)</Specification-Vendor>
- <Implementation-URL>http://www.jboss.org/</Implementation-URL>
- <Implementation-Vendor>JBoss by Red Hat, Inc</Implementation-Vendor>
- <Implementation-Vendor-Id>http://www.jboss.org/</Implementation-Vendor-Id>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
- <version>2.3.1</version>
<configuration>
<createChecksum>true</createChecksum>
</configuration>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.1.2</version>
- <configuration>
- <archive>
- <index>true</index>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Implementation-URL>${project.url}</Implementation-URL>
- <Java-Version>${java.version}</Java-Version>
- <Java-Vendor>${java.vendor}</Java-Vendor>
- <Os-Name>${os.name}</Os-Name>
- <Os-Arch>${os.arch}</Os-Arch>
- <Os-Version>${os.version}</Os-Version>
- <Scm-Url>${project.scm.url}</Scm-Url>
- <Scm-Connection>${project.scm.connection}</Scm-Connection>
- <Scm-Revision>${buildNumber}</Scm-Revision>
- <Build-Timestamp>${build.datetime}</Build-Timestamp>
- <Specification-Vendor>JBoss (http://www.jboss.org/)</Specification-Vendor>
- <Implementation-URL>http://www.jboss.org/</Implementation-URL>
- <Implementation-Vendor>JBoss by Red Hat, Inc</Implementation-Vendor>
- <Implementation-Vendor-Id>http://www.jboss.org/</Implementation-Vendor-Id>
- </manifestEntries>
- </archive>
- </configuration>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>2.5</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.3</version>
- <configuration>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- </configuration>
- </plugin>
- <plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
- <version>1.9.0</version>
+ <version>${jmeter.plugin.version}</version>
</plugin>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-analysis-maven-plugin</artifactId>
- <version>1.0.4</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <archive>
- <index>true</index>
- <manifest>
- <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
- <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
- </manifest>
- <manifestEntries>
- <Implementation-URL>${project.url}</Implementation-URL>
- <Java-Version>${java.version}</Java-Version>
- <Java-Vendor>${java.vendor}</Java-Vendor>
- <Os-Name>${os.name}</Os-Name>
- <Os-Arch>${os.arch}</Os-Arch>
- <Os-Version>${os.version}</Os-Version>
- <Scm-Url>${project.scm.url}</Scm-Url>
- <Scm-Connection>${project.scm.connection}</Scm-Connection>
- <Scm-Revision>${buildNumber}</Scm-Revision>
- <Build-Timestamp>${build.datetime}</Build-Timestamp>
- <Specification-Vendor>JBoss (http://www.jboss.org/)</Specification-Vendor>
- <Implementation-URL>http://www.jboss.org/</Implementation-URL>
- <Implementation-Vendor>JBoss by Red Hat, Inc</Implementation-Vendor>
- <Implementation-Vendor-Id>http://www.jboss.org/</Implementation-Vendor-Id>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.2.1</version>
+ <version>${jmeter.analysis.plugin.version}</version>
</plugin>
<plugin>
<groupId>com.github.joelittlejohn.embedmongo</groupId>
<artifactId>embedmongo-maven-plugin</artifactId>
- <version>0.1.10</version>
+ <version>${embedmongo.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
- <version>7.5.Final</version>
+ <version>${jboss.as.plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
@@ -759,7 +1025,7 @@
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
- <version>1.0.1.Final</version>
+ <version>${wildfly.plugin.version}</version>
<configuration>
<skip>true</skip>
</configuration>
@@ -767,128 +1033,49 @@
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
- <version>1.7.2</version>
+ <version>${minify.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
</plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>buildnumber-maven-plugin</artifactId>
- <version>1.3</version>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <version>2.3.7</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>1.7</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- </plugin>
</plugins>
</pluginManagement>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>${maven.compiler.source}</source>
- <target>${maven.compiler.target}</target>
- <encoding>utf-8</encoding>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
- <configuration>
- <minmemory>128m</minmemory>
- <maxmemory>1024m</maxmemory>
- <quiet>false</quiet>
- <aggregate>true</aggregate>
- <excludePackageNames>
- se.unlogic.*:com.restfully.*:org.jboss.resteasy.examples.*:org.jboss.resteasy.tests.*
- </excludePackageNames>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-install-plugin</artifactId>
- <configuration>
- <createChecksum>true</createChecksum>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <phase>verify</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>com.atlassian.maven.plugins</groupId>
- <artifactId>maven-clover2-plugin</artifactId>
- <version>3.1.6</version>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>buildnumber-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>get-build-timestamp</id>
- <phase>initialize</phase>
- <goals>
- <goal>create-timestamp</goal>
- </goals>
- <configuration>
- <!-- Example date: Wed, 4 Jul 2001 12:08:56 -0700 -->
- <timestampFormat>EEE, d MMM yyyy HH:mm:ss Z</timestampFormat>
- <timestampPropertyName>build.datetime</timestampPropertyName>
- </configuration>
- </execution>
- <execution>
- <id>get-scm-revision</id>
- <phase>initialize</phase>
- <goals>
- <goal>create</goal>
- </goals>
- <configuration>
- <doCheck>false</doCheck>
- <doUpdate>false</doUpdate>
- <revisionOnScmFailure>UNKNOWN</revisionOnScmFailure>
- <getRevisionOnlyOnce>true</getRevisionOnlyOnce>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
-
</build>
+
<profiles>
<profile>
- <id>distribution</id>
+ <id>jboss-release</id>
<modules>
<module>docbook</module>
<module>distribution</module>
</modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>aggregate</id>
+ <phase>package</phase>
+ <goals>
+ <goal>aggregate</goal>
+ </goals>
+ <configuration>
+ <minmemory>128m</minmemory>
+ <maxmemory>1024m</maxmemory>
+ <aggregate>true</aggregate>
+ <excludePackageNames>
+ se.unlogic.*:com.restfully.*:org.jboss.resteasy.examples.*:org.jboss.resteasy.tests.*
+ </excludePackageNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</profile>
</profiles>
</project>
proxy/proxy-server/pom.xml 5(+0 -5)
diff --git a/proxy/proxy-server/pom.xml b/proxy/proxy-server/pom.xml
index 31dd5bb..d7ce7a2 100755
--- a/proxy/proxy-server/pom.xml
+++ b/proxy/proxy-server/pom.xml
@@ -17,27 +17,22 @@
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
- <version>${jboss.logging.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-adapter-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>${keycloak.apache.httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>net.iharder</groupId>
saml/saml-core/pom.xml 7(+0 -7)
diff --git a/saml/saml-core/pom.xml b/saml/saml-core/pom.xml
index c5242a4..1fc4bdd 100755
--- a/saml/saml-core/pom.xml
+++ b/saml/saml-core/pom.xml
@@ -26,13 +26,6 @@
<dependency>
<groupId>org.apache.santuario</groupId>
<artifactId>xmlsec</artifactId>
- <version>1.5.1</version>
- <exclusions>
- <exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
saml/saml-protocol/pom.xml 16(+0 -16)
diff --git a/saml/saml-protocol/pom.xml b/saml/saml-protocol/pom.xml
index 511f48d..702be9d 100755
--- a/saml/saml-protocol/pom.xml
+++ b/saml/saml-protocol/pom.xml
@@ -21,7 +21,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-saml-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -32,49 +31,41 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-account-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-login-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -101,13 +92,6 @@
</exclusion>
</exclusions>
</dependency>
- <!--
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-federation</artifactId>
- <scope>provided</scope>
- </dependency>
- -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
services/pom.xml 74(+25 -49)
diff --git a/services/pom.xml b/services/pom.xml
index ea6e90e..2fa148d 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -20,86 +20,77 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.bouncycastle</groupId>
+ <artifactId>bcpkix-jdk15on</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core-jaxrs</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-forms-common-freemarker</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-account-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-email-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-login-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-invalidation-cache-model</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-timer-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-timer-basic</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-export-import-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -139,11 +130,6 @@
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<scope>provided</scope>
</dependency>
@@ -197,36 +183,26 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
- <version>2.9.1</version>
- <executions>
- <execution>
- <id>generate-service-docs</id>
- <phase>generate-resources</phase>
- <configuration>
- <subpackages>org.keycloak.services.resources.admin:org.keycloak.protocol.oidc</subpackages>
- <doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
- <docletArtifacts>
- <docletArtifact>
- <groupId>com.lunatech.jax-doclets</groupId>
- <artifactId>doclets</artifactId>
- <version>0.10.2</version>
- </docletArtifact>
- </docletArtifacts>
- <detectOfflineLinks>false</detectOfflineLinks>
- <offlineLinks>
- <offlineLink>
- <url>../javadocs</url>
- <location>${project.basedir}/../target/site/apidocs</location>
- </offlineLink>
- </offlineLinks>
- <additionalparam>-disablejavascriptexample</additionalparam>
- <additionalparam>-pathexcludefilter '/admin/.*index.*' -pathexcludefilter '/admin' -pathexcludefilter '/admin/\\{realm\\}/console.*'</additionalparam>
- </configuration>
- <goals>
- <goal>javadoc</goal>
- </goals>
- </execution>
- </executions>
+ <configuration>
+ <subpackages>org.keycloak.services.resources.admin:org.keycloak.protocol.oidc</subpackages>
+ <doclet>com.lunatech.doclets.jax.jaxrs.JAXRSDoclet</doclet>
+ <docletArtifacts>
+ <docletArtifact>
+ <groupId>com.lunatech.jax-doclets</groupId>
+ <artifactId>doclets</artifactId>
+ <version>0.10.2</version>
+ </docletArtifact>
+ </docletArtifacts>
+ <detectOfflineLinks>false</detectOfflineLinks>
+ <offlineLinks>
+ <offlineLink>
+ <url>../javadocs</url>
+ <location>${project.basedir}/../target/site/apidocs</location>
+ </offlineLink>
+ </offlineLinks>
+ <additionalparam>-disablejavascriptexample</additionalparam>
+ <additionalparam>-pathexcludefilter '/admin/.*index.*' -pathexcludefilter '/admin' -pathexcludefilter '/admin/\\{realm\\}/console.*'</additionalparam>
+ </configuration>
</plugin>
</plugins>
</build>
diff --git a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
index 4814f30..7647b36 100755
--- a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
@@ -14,7 +14,7 @@ import org.keycloak.jose.jws.JWSBuilder;
import org.keycloak.login.LoginFormsProvider;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
@@ -420,14 +420,14 @@ public class AuthenticationManager {
if (client.isConsentRequired()) {
accessCode.setAction(ClientSessionModel.Action.OAUTH_GRANT);
- GrantedConsentModel grantedConsent = user.getGrantedConsentByClient(client.getId());
+ UserConsentModel grantedConsent = user.getConsentByClient(client.getId());
List<RoleModel> realmRoles = new LinkedList<RoleModel>();
MultivaluedMap<String, RoleModel> resourceRoles = new MultivaluedMapImpl<String, RoleModel>();
for (RoleModel r : accessCode.getRequestedRoles()) {
// Consent already granted by user
- if (grantedConsent != null && grantedConsent.getGrantedRoles().contains(r.getId())) {
+ if (grantedConsent != null && grantedConsent.isRoleGranted(r)) {
continue;
}
@@ -439,10 +439,10 @@ public class AuthenticationManager {
}
List<ProtocolMapperModel> protocolMappers = new LinkedList<ProtocolMapperModel>();
- for (ProtocolMapperModel model : client.getProtocolMappers()) {
- if (model.isConsentRequired() && model.getProtocol().equals(clientSession.getAuthMethod()) && model.getConsentText() != null) {
- if (grantedConsent == null || !grantedConsent.getGrantedProtocolMappers().contains(model.getId())) {
- protocolMappers.add(model);
+ for (ProtocolMapperModel protocolMapper : client.getProtocolMappers()) {
+ if (protocolMapper.isConsentRequired() && protocolMapper.getProtocol().equals(clientSession.getAuthMethod()) && protocolMapper.getConsentText() != null) {
+ if (grantedConsent == null || !grantedConsent.isProtocolMapperGranted(protocolMapper)) {
+ protocolMappers.add(protocolMapper);
}
}
}
diff --git a/services/src/main/java/org/keycloak/services/resources/AccountService.java b/services/src/main/java/org/keycloak/services/resources/AccountService.java
index af1c872..3a775e1 100755
--- a/services/src/main/java/org/keycloak/services/resources/AccountService.java
+++ b/services/src/main/java/org/keycloak/services/resources/AccountService.java
@@ -76,7 +76,6 @@ import javax.ws.rs.core.Variant;
import java.lang.reflect.Method;
import java.net.URI;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -512,7 +511,7 @@ public class AccountService {
// Revoke grant in UserModel
UserModel user = auth.getUser();
- user.revokeGrantedConsentForClient(client.getId());
+ user.revokeConsentForClient(client.getId());
// Logout clientSessions for this user and client
List<UserSessionModel> userSessions = session.sessions().getUserSessions(realm, user);
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AdminRoot.java b/services/src/main/java/org/keycloak/services/resources/admin/AdminRoot.java
index 2ece39b..bdde097 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/AdminRoot.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AdminRoot.java
@@ -9,11 +9,13 @@ import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.jboss.resteasy.spi.UnauthorizedException;
import org.keycloak.ClientConnection;
import org.keycloak.jose.jws.JWSInput;
+import org.keycloak.models.AdminRoles;
import org.keycloak.models.ClientModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.protocol.oidc.TokenManager;
import org.keycloak.representations.AccessToken;
+import org.keycloak.services.ForbiddenException;
import org.keycloak.services.managers.AppAuthManager;
import org.keycloak.services.managers.AuthenticationManager;
import org.keycloak.services.managers.RealmManager;
@@ -200,9 +202,14 @@ public class AdminRoot {
handlePreflightRequest();
AdminAuth auth = authenticateRealmAdminRequest(headers);
+ if (!isAdmin(auth)) {
+ throw new ForbiddenException();
+ }
+
if (auth != null) {
logger.debug("authenticated admin access for: " + auth.getUser().getUsername());
}
+
Cors.add(request).allowedOrigins(auth.getToken()).allowedMethods("GET", "PUT", "POST", "DELETE").auth().build(response);
ServerInfoAdminResource adminResource = new ServerInfoAdminResource();
@@ -210,6 +217,26 @@ public class AdminRoot {
return adminResource;
}
+ protected boolean isAdmin(AdminAuth auth) {
+ if (auth.hasOneOfRealmRole(AdminRoles.ADMIN, AdminRoles.CREATE_REALM)) {
+ return true;
+ }
+
+ RealmManager realmManager = new RealmManager(session);
+ if (auth.getRealm().equals(realmManager.getKeycloakAdminstrationRealm())) {
+ for (RealmModel realm : session.realms().getRealms()) {
+ ClientModel client = realm.getMasterAdminClient();
+ if (auth.hasOneOfAppRole(client, AdminRoles.ALL_REALM_ROLES)) {
+ return true;
+ }
+ }
+ return false;
+ } else {
+ ClientModel client = auth.getRealm().getClientByClientId(realmManager.getRealmAdminClientId(auth.getRealm()));
+ return auth.hasOneOfAppRole(client, AdminRoles.ALL_REALM_ROLES);
+ }
+ }
+
protected void handlePreflightRequest() {
if (request.getHttpMethod().equalsIgnoreCase("OPTIONS")) {
logger.debug("Cors admin pre-flight");
diff --git a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
index a0eb4dc..d4aa8d7 100755
--- a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
+++ b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
@@ -34,7 +34,7 @@ import org.keycloak.jose.jws.JWSBuilder;
import org.keycloak.login.LoginFormsProvider;
import org.keycloak.models.ClientModel;
import org.keycloak.models.ClientSessionModel;
-import org.keycloak.models.GrantedConsentModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.ModelException;
import org.keycloak.models.ProtocolMapperModel;
@@ -609,9 +609,10 @@ public class LoginActionsService {
return protocol.consentDenied(clientSession);
}
- GrantedConsentModel grantedConsent = user.getGrantedConsentByClient(client.getId());
+ UserConsentModel grantedConsent = user.getConsentByClient(client.getId());
if (grantedConsent == null) {
- grantedConsent = user.addGrantedConsent(new GrantedConsentModel(client.getId()));
+ grantedConsent = new UserConsentModel(realm, client.getId());
+ user.addConsent(grantedConsent);
}
for (String roleId : clientSession.getRoles()) {
grantedConsent.addGrantedRole(roleId);
@@ -622,7 +623,7 @@ public class LoginActionsService {
grantedConsent.addGrantedProtocolMapper(protocolMapper.getId());
}
}
- user.updateGrantedConsent(grantedConsent);
+ user.updateConsent(grantedConsent);
event.success();
social/core/pom.xml 1(+0 -1)
diff --git a/social/core/pom.xml b/social/core/pom.xml
index 76c631b..9a4a596 100755
--- a/social/core/pom.xml
+++ b/social/core/pom.xml
@@ -17,7 +17,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
social/facebook/pom.xml 2(+0 -2)
diff --git a/social/facebook/pom.xml b/social/facebook/pom.xml
index ffe311c..aec733b 100755
--- a/social/facebook/pom.xml
+++ b/social/facebook/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
social/github/pom.xml 2(+0 -2)
diff --git a/social/github/pom.xml b/social/github/pom.xml
index 1ffc6e5..2ba0422 100755
--- a/social/github/pom.xml
+++ b/social/github/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
social/google/pom.xml 2(+0 -2)
diff --git a/social/google/pom.xml b/social/google/pom.xml
index fdc80b9..a20380a 100755
--- a/social/google/pom.xml
+++ b/social/google/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
social/linkedin/pom.xml 2(+0 -2)
diff --git a/social/linkedin/pom.xml b/social/linkedin/pom.xml
index 15322d7..576ee3d 100755
--- a/social/linkedin/pom.xml
+++ b/social/linkedin/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
social/stackoverflow/pom.xml 2(+0 -2)
diff --git a/social/stackoverflow/pom.xml b/social/stackoverflow/pom.xml
index 46b24de..b3042d2 100755
--- a/social/stackoverflow/pom.xml
+++ b/social/stackoverflow/pom.xml
@@ -17,13 +17,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
social/twitter/pom.xml 4(+0 -4)
diff --git a/social/twitter/pom.xml b/social/twitter/pom.xml
index 591c66f..d995314 100755
--- a/social/twitter/pom.xml
+++ b/social/twitter/pom.xml
@@ -17,25 +17,21 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-social-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-broker-oidc</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-events-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
testsuite/docker-cluster/pom.xml 4(+0 -4)
diff --git a/testsuite/docker-cluster/pom.xml b/testsuite/docker-cluster/pom.xml
index 9667e7a..3c9be32 100755
--- a/testsuite/docker-cluster/pom.xml
+++ b/testsuite/docker-cluster/pom.xml
@@ -42,28 +42,24 @@
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-war-deployment</artifactId>
- <version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-wildfly-adapter-dist</artifactId>
- <version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/wildfly-adapter</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-as7-adapter-dist</artifactId>
- <version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/as7-adapter</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-eap6-adapter-dist</artifactId>
- <version>${project.version}</version>
<type>zip</type>
<outputDirectory>${project.build.directory}/eap63-adapter</outputDirectory>
</artifactItem>
testsuite/integration/pom.xml 58(+15 -43)
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 8aa46ca..d763ca1 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -13,16 +13,6 @@
<name>Keycloak Integration TestSuite</name>
<description />
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.keycloak</groupId>
- <artifactId>keycloak-as7-adapter</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<groupId>org.bouncycastle</groupId>
@@ -35,18 +25,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.keycloak</groupId>
- <artifactId>event-listener-sysout-example</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -59,7 +42,6 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
@@ -68,12 +50,14 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.resteasy</groupId>
+ <artifactId>async-http-servlet-3.0</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -92,27 +76,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
+ <artifactId>resteasy-undertow</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -121,32 +96,26 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>${keycloak.apache.httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jaxrs-oauth-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>federation-properties-example</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -265,7 +234,6 @@
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-undertow</artifactId>
- <version>${wildfly.version}</version>
<scope>test</scope>
</dependency>
@@ -331,7 +299,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
+ <classpathScope>test</classpathScope>
</configuration>
</plugin>
</plugins>
@@ -345,7 +314,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
+ <classpathScope>test</classpathScope>
</configuration>
</plugin>
</plugins>
@@ -359,7 +329,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
+ <classpathScope>test</classpathScope>
</configuration>
</plugin>
</plugins>
@@ -373,7 +344,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.ldap.LDAPEmbeddedServer</mainClass>
+ <mainClass>org.keycloak.testsuite.ldap.LDAPEmbeddedServer</mainClass>
+ <classpathScope>test</classpathScope>
</configuration>
</plugin>
</plugins>
@@ -387,7 +359,8 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.ldap.KerberosEmbeddedServer</mainClass>
+ <mainClass>org.keycloak.testsuite.ldap.KerberosEmbeddedServer</mainClass>
+ <classpathScope>test</classpathScope>
</configuration>
</plugin>
</plugins>
@@ -554,7 +527,6 @@
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
- <version>${mysql.version}</version>
</dependency>
</dependencies>
</profile>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
index 550de17..f9f82dc 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
@@ -49,7 +49,7 @@ import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.BasicAuthHelper;
import org.keycloak.util.Time;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
index 632202d..405609c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/CookieTokenStoreAdapterTest.java
@@ -19,7 +19,7 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.Time;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
index 235d5f5..83f3ff6 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/MultiTenancyTest.java
@@ -30,7 +30,7 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.WebDriver;
/**
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
index 4c22533..4ec20a8 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/RelativeUriAdapterTest.java
@@ -45,7 +45,7 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.WebDriver;
import javax.ws.rs.client.Client;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/AdminAPITest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/AdminAPITest.java
index b3a7ca6..0312446 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/AdminAPITest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/AdminAPITest.java
@@ -41,7 +41,7 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.admin.AdminRoot;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderHintTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderHintTest.java
index 9681873..48ac594 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderHintTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/IdentityProviderHintTest.java
@@ -11,7 +11,7 @@ import org.keycloak.testsuite.pages.OAuthGrantPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
@@ -66,11 +66,7 @@ public class IdentityProviderHintTest {
// log in to identity provider
this.loginPage.login("test-user", "password");
- // grant access to broker-app
- this.grantPage.assertCurrent();
- this.grantPage.accept();
-
- // authenticated and redirected to app
+ // authenticated and redirected to app
assertTrue(this.driver.getCurrentUrl().startsWith("http://localhost:8081/test-app"));
assertTrue(this.driver.getPageSource().contains("idToken"));
}
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
index 6c18295..e1f4c83 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/OIDCKeyCloakServerBrokerBasicTest.java
@@ -1,6 +1,5 @@
package org.keycloak.testsuite.broker;
-import org.junit.After;
import org.junit.ClassRule;
import org.junit.Test;
import org.keycloak.models.KeycloakSession;
@@ -13,7 +12,7 @@ import org.keycloak.testsuite.pages.AccountAccessPage;
import org.keycloak.testsuite.pages.OAuthGrantPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.JsonSerialization;
import org.openqa.selenium.NoSuchElementException;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
index 6f9456d..46bfa3d 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerBasicTest.java
@@ -8,7 +8,7 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.processing.web.util.PostBindingUtil;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
index f0fdd52..1f36c9f 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/SAMLKeyCloakServerBrokerWithSignatureTest.java
@@ -8,7 +8,7 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.saml.processing.api.saml.v2.request.SAML2Request;
import org.keycloak.dom.saml.v2.protocol.ResponseType;
import org.keycloak.saml.processing.web.util.PostBindingUtil;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
index 47d1ff5..ad61241 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/composites/CompositeImportRoleTest.java
@@ -38,7 +38,7 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.openqa.selenium.WebDriver;
import java.security.PublicKey;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
index 1d94c68..8086500 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosLdapTest.java
@@ -16,7 +16,6 @@ import org.keycloak.federation.kerberos.CommonKerberosConfig;
import org.keycloak.federation.ldap.LDAPFederationProviderFactory;
import org.keycloak.federation.ldap.kerberos.LDAPProviderKerberosConfig;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderModel;
import org.keycloak.services.managers.RealmManager;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
index c665f44..699d85b 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/KerberosStandaloneTest.java
@@ -17,17 +17,12 @@ import org.keycloak.federation.kerberos.KerberosFederationProviderFactory;
import org.keycloak.constants.KerberosConstants;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
-import org.keycloak.models.UserCredentialModel;
import org.keycloak.models.UserFederationProviderModel;
-import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.AssertEvents;
-import org.keycloak.testsuite.adapter.CustomerServlet;
-import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.KerberosRule;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
/**
* Test of KerberosFederationProvider (Kerberos not backed by LDAP)
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/SyncProvidersTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/SyncProvidersTest.java
index f628519..3aa1954 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/SyncProvidersTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/federation/SyncProvidersTest.java
@@ -23,7 +23,7 @@ import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.UsersSyncManager;
import org.keycloak.testsuite.rule.KeycloakRule;
import org.keycloak.testsuite.rule.LDAPRule;
-import org.keycloak.testutils.DummyUserFederationProviderFactory;
+import org.keycloak.testsuite.DummyUserFederationProviderFactory;
import org.keycloak.timer.TimerProvider;
import org.keycloak.util.Time;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
index 0e48914..f7f48b3 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/AdapterTest.java
@@ -258,6 +258,7 @@ public class AdapterTest extends AbstractModelTest {
commit();
realmModel = model.getRealm("JUGGLER");
app = realmModel.getClientByClientId("test-app");
+ user = realmManager.getSession().users().getUserByUsername("bburke", realmModel);
Assert.assertTrue(realmModel.removeRoleById(realmRole.getId()));
Assert.assertFalse(realmModel.removeRoleById(realmRole.getId()));
@@ -266,6 +267,9 @@ public class AdapterTest extends AbstractModelTest {
Assert.assertTrue(realmModel.removeRoleById(appRole.getId()));
Assert.assertFalse(realmModel.removeRoleById(appRole.getId()));
assertNull(app.getRole(appRole.getName()));
+
+ user = realmManager.getSession().users().getUserByUsername("bburke", realmModel);
+
}
@Test
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
index f0fc63b..e56d462 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ClientModelTest.java
@@ -9,6 +9,7 @@ import org.keycloak.models.RoleModel;
import org.keycloak.models.utils.ModelToRepresentation;
import org.keycloak.models.utils.RepresentationToModel;
import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.representations.idm.ProtocolMapperRepresentation;
import org.keycloak.services.managers.ClientManager;
import java.util.Iterator;
@@ -63,6 +64,9 @@ public class ClientModelTest extends AbstractModelTest {
public void json() {
ClientRepresentation representation = ModelToRepresentation.toRepresentation(client);
representation.setId(null);
+ for (ProtocolMapperRepresentation protocolMapper : representation.getProtocolMappers()) {
+ protocolMapper.setId(null);
+ }
RealmModel realm = realmManager.createRealm("copy");
ClientModel copy = RepresentationToModel.createClient(session, realm, representation, true);
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
index b941db8..bea52c4 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/ImportTest.java
@@ -14,6 +14,7 @@ import org.keycloak.models.ProtocolMapperModel;
import org.keycloak.models.RealmModel;
import org.keycloak.models.RequiredCredentialModel;
import org.keycloak.models.RoleModel;
+import org.keycloak.models.UserConsentModel;
import org.keycloak.models.UserFederationProvider;
import org.keycloak.models.UserFederationProviderFactory;
import org.keycloak.models.UserFederationProviderModel;
@@ -238,6 +239,23 @@ public class ImportTest extends AbstractModelTest {
String includeInIdToken = gssCredentialMapper.getConfig().get(OIDCAttributeMapperHelper.INCLUDE_IN_ID_TOKEN);
Assert.assertTrue(includeInAccessToken.equalsIgnoreCase("true"));
Assert.assertTrue(includeInIdToken == null || Boolean.parseBoolean(includeInIdToken) == false);
+
+ // Test user consents
+ admin = session.users().getUserByUsername("admin", realm);
+ Assert.assertEquals(2, admin.getConsents().size());
+
+ UserConsentModel appAdminConsent = admin.getConsentByClient(application.getId());
+ Assert.assertEquals(2, appAdminConsent.getGrantedRoles().size());
+ Assert.assertTrue(appAdminConsent.getGrantedProtocolMappers() == null || appAdminConsent.getGrantedProtocolMappers().isEmpty());
+ Assert.assertTrue(appAdminConsent.isRoleGranted(realm.getRole("admin")));
+ Assert.assertTrue(appAdminConsent.isRoleGranted(application.getRole("app-admin")));
+
+ UserConsentModel otherAppAdminConsent = admin.getConsentByClient(otherApp.getId());
+ Assert.assertEquals(1, otherAppAdminConsent.getGrantedRoles().size());
+ Assert.assertEquals(1, otherAppAdminConsent.getGrantedProtocolMappers().size());
+ Assert.assertTrue(otherAppAdminConsent.isRoleGranted(realm.getRole("admin")));
+ Assert.assertFalse(otherAppAdminConsent.isRoleGranted(application.getRole("app-admin")));
+ Assert.assertTrue(otherAppAdminConsent.isProtocolMapperGranted(gssCredentialMapper));
}
@Test
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
index fbd47bc..7641d6f 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
@@ -20,7 +20,7 @@ import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.Retry;
-import org.keycloak.testutils.KeycloakServer;
+import org.keycloak.testsuite.KeycloakServer;
import org.keycloak.util.JsonSerialization;
import org.keycloak.util.Time;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
index 61d7f32..d2f0ed7 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KerberosRule.java
@@ -4,9 +4,9 @@ import java.io.File;
import java.net.URL;
import org.jboss.logging.Logger;
-import org.keycloak.testutils.ldap.EmbeddedServersFactory;
-import org.keycloak.testutils.ldap.LDAPConfiguration;
-import org.keycloak.testutils.ldap.LDAPEmbeddedServer;
+import org.keycloak.testsuite.ldap.EmbeddedServersFactory;
+import org.keycloak.testsuite.ldap.LDAPConfiguration;
+import org.keycloak.testsuite.ldap.LDAPEmbeddedServer;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
index 2fa5f01..290341c 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LDAPRule.java
@@ -3,9 +3,9 @@ package org.keycloak.testsuite.rule;
import java.util.Map;
import org.junit.rules.ExternalResource;
-import org.keycloak.testutils.ldap.EmbeddedServersFactory;
-import org.keycloak.testutils.ldap.LDAPConfiguration;
-import org.keycloak.testutils.ldap.LDAPEmbeddedServer;
+import org.keycloak.testsuite.ldap.EmbeddedServersFactory;
+import org.keycloak.testsuite.ldap.LDAPConfiguration;
+import org.keycloak.testsuite.ldap.LDAPEmbeddedServer;
/**
* @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
diff --git a/testsuite/integration/src/test/resources/META-INF/services/org.keycloak.models.UserFederationProviderFactory b/testsuite/integration/src/test/resources/META-INF/services/org.keycloak.models.UserFederationProviderFactory
new file mode 100755
index 0000000..d79421f
--- /dev/null
+++ b/testsuite/integration/src/test/resources/META-INF/services/org.keycloak.models.UserFederationProviderFactory
@@ -0,0 +1 @@
+org.keycloak.testsuite.DummyUserFederationProviderFactory
\ No newline at end of file
diff --git a/testsuite/integration/src/test/resources/model/testrealm.json b/testsuite/integration/src/test/resources/model/testrealm.json
index 4044399..1c0b7e6 100755
--- a/testsuite/integration/src/test/resources/model/testrealm.json
+++ b/testsuite/integration/src/test/resources/model/testrealm.json
@@ -74,6 +74,15 @@
"applicationRoles": {
"Application": [ "app-admin" ],
"OtherApp": [ "otherapp-admin" ]
+ },
+ "clientConsents": {
+ "Application": {
+ "grantedRoles": [ "456", "789" ]
+ },
+ "OtherApp": {
+ "grantedProtocolMappers": [ "123" ],
+ "grantedRoles": [ "456" ]
+ }
}
},
{
@@ -113,6 +122,7 @@
"enabled": true,
"protocolMappers" : [
{
+ "id": "123",
"name" : "gss delegation credential",
"protocol" : "openid-connect",
"protocolMapper" : "oidc-usersessionmodel-note-mapper",
@@ -138,12 +148,14 @@
"roles" : {
"realm" : [
{
+ "id": "456",
"name": "admin"
}
],
"application" : {
"Application" : [
{
+ "id": "789",
"name": "app-admin"
},
{
testsuite/jetty/jetty81/pom.xml 25(+3 -22)
diff --git a/testsuite/jetty/jetty81/pom.xml b/testsuite/jetty/jetty81/pom.xml
index 572c85b..16bb906 100755
--- a/testsuite/jetty/jetty81/pom.xml
+++ b/testsuite/jetty/jetty81/pom.xml
@@ -20,13 +20,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -49,12 +47,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -73,27 +69,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -111,22 +98,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty81-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -207,13 +190,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -294,7 +275,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -308,7 +289,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -322,7 +303,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/jetty/jetty91/pom.xml 25(+3 -22)
diff --git a/testsuite/jetty/jetty91/pom.xml b/testsuite/jetty/jetty91/pom.xml
index 1e7f04e..c7f4395 100755
--- a/testsuite/jetty/jetty91/pom.xml
+++ b/testsuite/jetty/jetty91/pom.xml
@@ -20,13 +20,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -49,12 +47,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -73,27 +69,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -111,22 +98,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty91-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -207,13 +190,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -294,7 +275,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -308,7 +289,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -322,7 +303,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/jetty/jetty92/pom.xml 25(+3 -22)
diff --git a/testsuite/jetty/jetty92/pom.xml b/testsuite/jetty/jetty92/pom.xml
index 9d3fe49..899cdb1 100755
--- a/testsuite/jetty/jetty92/pom.xml
+++ b/testsuite/jetty/jetty92/pom.xml
@@ -20,13 +20,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -49,12 +47,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -73,27 +69,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -111,22 +98,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-jetty92-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -207,13 +190,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -301,7 +282,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -315,7 +296,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -329,7 +310,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/performance/pom.xml 32(+1 -31)
diff --git a/testsuite/performance/pom.xml b/testsuite/performance/pom.xml
index f9bb23e..0c5783d 100755
--- a/testsuite/performance/pom.xml
+++ b/testsuite/performance/pom.xml
@@ -18,32 +18,26 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core-jaxrs</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-jpa</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-mongo</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
@@ -145,23 +139,19 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-performance</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-services</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -193,33 +183,14 @@
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
- <artifactId>>bcprov-jdk15on</artifactId>
- <version>${bouncycastle.crypto.version}</version>
+ <artifactId>bcprov-jdk15on</artifactId>
</dependency>
- <!--
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-idm</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-idm-simple-schema</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- <dependency>
- <groupId>org.picketlink</groupId>
- <artifactId>picketlink-config</artifactId>
- <version>${picketlink.version}</version>
- </dependency>
- -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>${mongo.driver.version}</version>
</dependency>
- <!-- Needed for picketlink -->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
@@ -246,7 +217,6 @@
<version>${slf4j.version}</version>
</dependency>
- <!-- Needed just for picketlink perf test -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
testsuite/performance-web/pom.xml 13(+0 -13)
diff --git a/testsuite/performance-web/pom.xml b/testsuite/performance-web/pom.xml
index cc60e75..ce3af75 100755
--- a/testsuite/performance-web/pom.xml
+++ b/testsuite/performance-web/pom.xml
@@ -17,7 +17,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.spec.javax.servlet</groupId>
@@ -28,7 +27,6 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-tools</artifactId>
- <version>${project.version}</version>
<classifier>classes</classifier>
</dependency>
@@ -43,12 +41,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -67,27 +63,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.apache.jmeter</groupId>
diff --git a/testsuite/performance-web/src/main/java/org/keycloak/testsuite/performance/web/OAuthClient.java b/testsuite/performance-web/src/main/java/org/keycloak/testsuite/performance/web/OAuthClient.java
index a57ee22..21de426 100755
--- a/testsuite/performance-web/src/main/java/org/keycloak/testsuite/performance/web/OAuthClient.java
+++ b/testsuite/performance-web/src/main/java/org/keycloak/testsuite/performance/web/OAuthClient.java
@@ -9,7 +9,6 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
-import org.jboss.resteasy.security.PemUtils;
import org.json.JSONObject;
import org.keycloak.OAuth2Constants;
import org.keycloak.RSATokenVerifier;
@@ -20,6 +19,7 @@ import org.keycloak.protocol.oidc.OIDCLoginProtocolService;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.RefreshToken;
import org.keycloak.util.BasicAuthHelper;
+import org.keycloak.util.PemUtils;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.UriBuilder;
testsuite/pom.xml 2(+0 -2)
diff --git a/testsuite/pom.xml b/testsuite/pom.xml
index d42ec75..8ad09a9 100755
--- a/testsuite/pom.xml
+++ b/testsuite/pom.xml
@@ -41,8 +41,6 @@
<module>jetty/jetty92</module>
<module>jetty/jetty91</module>
<module>performance</module>
- <module>tools</module>
- <module>performance-web</module>
<!--<module>docker-cluster</module>-->
</modules>
testsuite/proxy/pom.xml 26(+3 -23)
diff --git a/testsuite/proxy/pom.xml b/testsuite/proxy/pom.xml
index cf99307..0e6d04b 100755
--- a/testsuite/proxy/pom.xml
+++ b/testsuite/proxy/pom.xml
@@ -21,18 +21,15 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-proxy-server</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -54,12 +51,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -78,27 +73,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -116,22 +102,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat7-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -212,13 +194,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -288,7 +268,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -302,7 +282,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -316,7 +296,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
diff --git a/testsuite/proxy/src/test/java/org/keycloak/testsuite/ProxyTest.java b/testsuite/proxy/src/test/java/org/keycloak/testsuite/ProxyTest.java
index a93d416..f3dd46f 100755
--- a/testsuite/proxy/src/test/java/org/keycloak/testsuite/ProxyTest.java
+++ b/testsuite/proxy/src/test/java/org/keycloak/testsuite/ProxyTest.java
@@ -41,7 +41,6 @@ import org.keycloak.testsuite.pages.LoginPage;
import org.keycloak.testsuite.rule.AbstractKeycloakRule;
import org.keycloak.testsuite.rule.WebResource;
import org.keycloak.testsuite.rule.WebRule;
-import org.keycloak.testutils.KeycloakServer;
import org.openqa.selenium.WebDriver;
import javax.servlet.ServletException;
testsuite/tomcat6/pom.xml 37(+8 -29)
diff --git a/testsuite/tomcat6/pom.xml b/testsuite/tomcat6/pom.xml
index 68d9899..08033d2 100755
--- a/testsuite/tomcat6/pom.xml
+++ b/testsuite/tomcat6/pom.xml
@@ -20,13 +20,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -39,7 +37,6 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
- <version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
@@ -48,12 +45,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -72,27 +67,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -105,27 +91,22 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>${keycloak.apache.httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat6-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -152,10 +133,6 @@
<artifactId>jackson-xc</artifactId>
</dependency>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
</dependency>
@@ -200,19 +177,16 @@
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-undertow</artifactId>
- <version>${wildfly.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -231,7 +205,12 @@
<artifactId>jasper</artifactId>
<version>${tomcat.version}</version>
</dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
</dependencies>
+
<build>
<plugins>
<plugin>
@@ -280,7 +259,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -294,7 +273,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -308,7 +287,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/tomcat7/pom.xml 25(+3 -22)
diff --git a/testsuite/tomcat7/pom.xml b/testsuite/tomcat7/pom.xml
index 83e8143..8f79b62 100755
--- a/testsuite/tomcat7/pom.xml
+++ b/testsuite/tomcat7/pom.xml
@@ -21,13 +21,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -49,12 +47,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -73,27 +69,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -111,22 +98,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat7-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -207,13 +190,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -283,7 +264,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -297,7 +278,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -311,7 +292,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/tomcat8/pom.xml 25(+3 -22)
diff --git a/testsuite/tomcat8/pom.xml b/testsuite/tomcat8/pom.xml
index f6c0697..35d9667 100755
--- a/testsuite/tomcat8/pom.xml
+++ b/testsuite/tomcat8/pom.xml
@@ -20,13 +20,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
@@ -48,12 +46,10 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
@@ -72,27 +68,18 @@
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
- <version>${resteasy.version.latest}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.resteasy</groupId>
- <artifactId>resteasy-crypto</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-undertow</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
@@ -110,22 +97,18 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-ldap-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-kerberos-federation</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-undertow-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-tomcat8-adapter</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
@@ -206,13 +189,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
- <version>${project.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
@@ -282,7 +263,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.KeycloakServer</mainClass>
+ <mainClass>org.keycloak.testsuite.KeycloakServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -296,7 +277,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.MailServer</mainClass>
+ <mainClass>org.keycloak.testsuite.MailServer</mainClass>
</configuration>
</plugin>
</plugins>
@@ -310,7 +291,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
- <mainClass>org.keycloak.testutils.TotpGenerator</mainClass>
+ <mainClass>org.keycloak.testsuite.TotpGenerator</mainClass>
</configuration>
</plugin>
</plugins>
testsuite/tools/pom.xml 3(+0 -3)
diff --git a/testsuite/tools/pom.xml b/testsuite/tools/pom.xml
index dc1fd57..cb4c3d2 100755
--- a/testsuite/tools/pom.xml
+++ b/testsuite/tools/pom.xml
@@ -18,19 +18,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-dependencies-server-all</artifactId>
- <version>${project.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
- <version>${resteasy.version.latest}</version>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.servlet</groupId>
timer/api/pom.xml 2(+0 -2)
diff --git a/timer/api/pom.xml b/timer/api/pom.xml
index 64bcec0..700b6ca 100755
--- a/timer/api/pom.xml
+++ b/timer/api/pom.xml
@@ -15,13 +15,11 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
timer/basic/pom.xml 3(+0 -3)
diff --git a/timer/basic/pom.xml b/timer/basic/pom.xml
index 06ee6d6..177710d 100755
--- a/timer/basic/pom.xml
+++ b/timer/basic/pom.xml
@@ -16,19 +16,16 @@
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-model-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-timer-api</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>