From c5366f1c817aa8f2af854f3559c92978283bb1e4 Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Fri, 17 Jan 2014 09:30:56 +0000 Subject: [PATCH] KEYCLOAK-264 Remove option to enable/disable acct mngmt --- .../admin/partials/realm-detail.html | 4 --- .../idm/RealmRepresentation.java | 9 ------- examples/as7-eap-demo/testrealm.json | 1 - examples/wildfly-demo/testrealm.json | 1 - .../services/managers/ApplianceBootstrap.java | 1 - .../services/managers/RealmManager.java | 27 +++++-------------- .../java/org/keycloak/test/AdapterTest.java | 4 +-- .../keycloak/test/ApplicationModelTest.java | 2 +- .../java/org/keycloak/test/ImportTest.java | 2 +- .../src/test/resources/testrealm.json | 1 - 10 files changed, 10 insertions(+), 42 deletions(-) diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html index 7975742bbf..f0117d514d 100755 --- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html +++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html @@ -61,10 +61,6 @@ -
- - -
diff --git a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java index 376de43a5e..5cb379975d 100755 --- a/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java +++ b/core/src/main/java/org/keycloak/representations/idm/RealmRepresentation.java @@ -17,7 +17,6 @@ public class RealmRepresentation { protected Integer accessCodeLifespan; protected Integer accessCodeLifespanUserAction; protected Boolean enabled; - protected Boolean accountManagement; protected Boolean sslNotRequired; protected Boolean registrationAllowed; protected Boolean verifyEmail; @@ -107,14 +106,6 @@ public class RealmRepresentation { this.enabled = enabled; } - public Boolean getAccountManagement() { - return accountManagement; - } - - public void setAccountManagement(Boolean accountManagement) { - this.accountManagement = accountManagement; - } - public Boolean isSslNotRequired() { return sslNotRequired; } diff --git a/examples/as7-eap-demo/testrealm.json b/examples/as7-eap-demo/testrealm.json index da8b804b03..7f39c9adc8 100755 --- a/examples/as7-eap-demo/testrealm.json +++ b/examples/as7-eap-demo/testrealm.json @@ -4,7 +4,6 @@ "tokenLifespan": 3000, "accessCodeLifespan": 10, "accessCodeLifespanUserAction": 6000, - "accountManagement": true, "sslNotRequired": true, "registrationAllowed": false, "social": false, diff --git a/examples/wildfly-demo/testrealm.json b/examples/wildfly-demo/testrealm.json index da8b804b03..7f39c9adc8 100755 --- a/examples/wildfly-demo/testrealm.json +++ b/examples/wildfly-demo/testrealm.json @@ -4,7 +4,6 @@ "tokenLifespan": 3000, "accessCodeLifespan": 10, "accessCodeLifespanUserAction": 6000, - "accountManagement": true, "sslNotRequired": true, "registrationAllowed": false, "social": false, diff --git a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java index 554a910f0b..04986f3b36 100755 --- a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java +++ b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java @@ -76,7 +76,6 @@ public class ApplianceBootstrap { adminConsole.grantRole(adminUser, adminRole); - manager.enableAccountManagement(realm); ApplicationModel accountApp = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION); for (String r : accountApp.getDefaultRoles()) { accountApp.grantRole(adminUser, accountApp.getRole(r)); diff --git a/services/src/main/java/org/keycloak/services/managers/RealmManager.java b/services/src/main/java/org/keycloak/services/managers/RealmManager.java index 7f1ead8d42..54908a0cd0 100755 --- a/services/src/main/java/org/keycloak/services/managers/RealmManager.java +++ b/services/src/main/java/org/keycloak/services/managers/RealmManager.java @@ -78,6 +78,9 @@ public class RealmManager { realm.setName(name); realm.addRole(Constants.APPLICATION_ROLE); realm.addRole(Constants.IDENTITY_REQUESTER_ROLE); + + setupAccountManagement(realm); + return realm; } @@ -125,12 +128,6 @@ public class RealmManager { realm.updateDefaultRoles(rep.getDefaultRoles().toArray(new String[rep.getDefaultRoles().size()])); } - if (rep.getAccountManagement() != null && rep.getAccountManagement()) { - enableAccountManagement(realm); - } else { - disableAccountManagement(realm); - } - if (rep.getSmtpServer() != null) { realm.setSmtpConfig(new HashMap(rep.getSmtpServer())); } @@ -144,10 +141,12 @@ public class RealmManager { } } - public void enableAccountManagement(RealmModel realm) { + private void setupAccountManagement(RealmModel realm) { ApplicationModel application = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION); if (application == null) { application = realm.addApplication(Constants.ACCOUNT_APPLICATION); + application.setEnabled(true); + application.addDefaultRole(Constants.ACCOUNT_PROFILE_ROLE); application.addDefaultRole(Constants.ACCOUNT_MANAGE_ROLE); @@ -160,14 +159,6 @@ public class RealmManager { RoleModel applicationRole = realm.getRole(Constants.APPLICATION_ROLE); realm.grantRole(application.getApplicationUser(), applicationRole); } - application.setEnabled(true); - } - - public void disableAccountManagement(RealmModel realm) { - ApplicationModel application = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION); - if (application != null) { - application.setEnabled(false); // TODO Should we delete the application instead? - } } public RealmModel importRealm(RealmRepresentation rep, UserModel realmCreator) { @@ -180,7 +171,6 @@ public class RealmManager { return realm; } - public void importRealm(RealmRepresentation rep, RealmModel newRealm) { newRealm.setName(rep.getRealm()); if (rep.isEnabled() != null) newRealm.setEnabled(rep.isEnabled()); @@ -270,10 +260,6 @@ public class RealmManager { } - if (rep.getAccountManagement() != null && rep.getAccountManagement()) { - enableAccountManagement(newRealm); - } - // Now that all possible users and applications are created (users, apps, and oauth clients), do role mappings and scope mappings Map appMap = newRealm.getApplicationNameMap(); @@ -492,7 +478,6 @@ public class RealmManager { } ApplicationModel accountManagementApplication = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION); - rep.setAccountManagement(accountManagementApplication != null && accountManagementApplication.isEnabled()); List defaultRoles = realm.getDefaultRoles(); if (!defaultRoles.isEmpty()) { diff --git a/services/src/test/java/org/keycloak/test/AdapterTest.java b/services/src/test/java/org/keycloak/test/AdapterTest.java index cd522d8f39..08a0057f3a 100755 --- a/services/src/test/java/org/keycloak/test/AdapterTest.java +++ b/services/src/test/java/org/keycloak/test/AdapterTest.java @@ -438,8 +438,8 @@ public class AdapterTest extends AbstractKeycloakTest { RealmModel otherRealm = adapter.createRealm("other"); otherRealm.addUser("bburke"); - Assert.assertEquals(1, otherRealm.getUsers().size()); - Assert.assertEquals(1, otherRealm.searchForUser("u").size()); + Assert.assertEquals(2, otherRealm.getUsers().size()); + Assert.assertEquals(1, otherRealm.searchForUser("bu").size()); } diff --git a/services/src/test/java/org/keycloak/test/ApplicationModelTest.java b/services/src/test/java/org/keycloak/test/ApplicationModelTest.java index e32248195c..1942b41f01 100755 --- a/services/src/test/java/org/keycloak/test/ApplicationModelTest.java +++ b/services/src/test/java/org/keycloak/test/ApplicationModelTest.java @@ -68,7 +68,7 @@ public class ApplicationModelTest extends AbstractKeycloakServerTest { public void persist() { RealmModel persisted = manager.getRealm(realm.getId()); - assertEquals(application, persisted.getApplications().get(0)); + assertEquals(application, persisted.getApplicationNameMap().get("app-name")); } @Test diff --git a/services/src/test/java/org/keycloak/test/ImportTest.java b/services/src/test/java/org/keycloak/test/ImportTest.java index 5c4550964c..383c683dc4 100755 --- a/services/src/test/java/org/keycloak/test/ImportTest.java +++ b/services/src/test/java/org/keycloak/test/ImportTest.java @@ -54,7 +54,7 @@ public class ImportTest extends AbstractKeycloakTest { Assert.assertEquals(0, realm.getSocialLinks(user).size()); List resources = realm.getApplications(); - Assert.assertEquals(2, resources.size()); + Assert.assertEquals(3, resources.size()); // Test scope relationship ApplicationModel application = realm.getApplicationNameMap().get("Application"); diff --git a/testsuite/integration/src/test/resources/testrealm.json b/testsuite/integration/src/test/resources/testrealm.json index c25ece4f1c..755d9ea516 100755 --- a/testsuite/integration/src/test/resources/testrealm.json +++ b/testsuite/integration/src/test/resources/testrealm.json @@ -7,7 +7,6 @@ "accessCodeLifespanUserAction": 600, "sslNotRequired": true, "registrationAllowed": true, - "accountManagement": true, "resetPasswordAllowed": true, "privateKey": "MIICXAIBAAKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQABAoGAfmO8gVhyBxdqlxmIuglbz8bcjQbhXJLR2EoS8ngTXmN1bo2L90M0mUKSdc7qF10LgETBzqL8jYlQIbt+e6TH8fcEpKCjUlyq0Mf/vVbfZSNaVycY13nTzo27iPyWQHK5NLuJzn1xvxxrUeXI6A2WFpGEBLbHjwpx5WQG9A+2scECQQDvdn9NE75HPTVPxBqsEd2z10TKkl9CZxu10Qby3iQQmWLEJ9LNmy3acvKrE3gMiYNWb6xHPKiIqOR1as7L24aTAkEAtyvQOlCvr5kAjVqrEKXalj0Tzewjweuxc0pskvArTI2Oo070h65GpoIKLc9jf+UA69cRtquwP93aZKtW06U8dQJAF2Y44ks/mK5+eyDqik3koCI08qaC8HYq2wVl7G2QkJ6sbAaILtcvD92ToOvyGyeE0flvmDZxMYlvaZnaQ0lcSQJBAKZU6umJi3/xeEbkJqMfeLclD27XGEFoPeNrmdx0q10Azp4NfJAY+Z8KRyQCR2BEG+oNitBOZ+YXF9KCpH3cdmECQHEigJhYg+ykOvr1aiZUMFT72HU0jnmQe2FVekuG+LJUt2Tm7GtMjTFoGpf0JwrVuZN39fOYAlo+nTixgeW7X8Y=", "publicKey": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB",