You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/06/09 14:12:35 UTC

airavata git commit: AIRAVATA-2431 Fix adding admin user to "admin" role

Repository: airavata
Updated Branches:
  refs/heads/develop f52024fe8 -> da720e3a6


AIRAVATA-2431 Fix adding admin user to "admin" role


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/da720e3a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/da720e3a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/da720e3a

Branch: refs/heads/develop
Commit: da720e3a61eb18fbe46487373a58ced75e14b7ee
Parents: f52024f
Author: Marcus Christie <ma...@apache.org>
Authored: Fri Jun 9 10:12:07 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Fri Jun 9 10:12:07 2017 -0400

----------------------------------------------------------------------
 .../services/core/impl/TenantManagementKeycloakImpl.java      | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/da720e3a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
----------------------------------------------------------------------
diff --git a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
index 6638697..22c3888 100644
--- a/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
+++ b/airavata-services/profile-service/iam-admin-services-core/src/main/java/org/apache/airavata/service/profile/iam/admin/services/core/impl/TenantManagementKeycloakImpl.java
@@ -32,6 +32,7 @@ import org.jboss.resteasy.client.jaxrs.ResteasyClient;
 import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
 import org.keycloak.admin.client.Keycloak;
 import org.keycloak.admin.client.KeycloakBuilder;
+import org.keycloak.admin.client.resource.RoleResource;
 import org.keycloak.admin.client.resource.UserResource;
 import org.keycloak.representations.idm.*;
 import org.slf4j.Logger;
@@ -170,7 +171,6 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
             user.setLastName(gatewayDetails.getGatewayAdminLastName());
             user.setEmail(gatewayDetails.getGatewayAdminEmail());
             user.setEnabled(true);
-            user.setRealmRoles(Arrays.asList("admin"));
             List<String> requiredActionList = new ArrayList<>();
             requiredActionList.add("UPDATE_PASSWORD");
             user.setRequiredActions(requiredActionList);
@@ -183,6 +183,11 @@ public class TenantManagementKeycloakImpl implements TenantManagementInterface {
                         user.getEmail(),
                         0, 1);
                 UserResource retrievedUser = client.realm(gatewayDetails.getGatewayId()).users().get(retrieveCreatedUserList.get(0).getId());
+
+                // Add user to the "admin" role
+                RoleResource adminRoleResource = client.realm(gatewayDetails.getGatewayId()).roles().get("admin");
+                retrievedUser.roles().realmLevel().add(Arrays.asList(adminRoleResource.toRepresentation()));
+
                 CredentialRepresentation credential = new CredentialRepresentation();
                 credential.setType(CredentialRepresentation.PASSWORD);
                 credential.setValue(ServerSettings.getGatewayAdminTempPwd());