|
|
@@ -5,13 +5,13 @@ import com.alibaba.cola.dto.Response;
|
|
|
import com.alibaba.cola.dto.SingleResponse;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.inspur.customer.client.keycloak.KeycloakService;
|
|
|
+import com.inspur.customer.constant.Constant;
|
|
|
import com.inspur.customer.object.keycloak.KeycloakUserCO;
|
|
|
import com.inspur.customer.object.keycloak.SwitchDTO;
|
|
|
import com.inspur.customer.object.keycloak.UsersRoleMappingDTO;
|
|
|
import com.inspur.customer.object.org.SmsbDepartmentCmd;
|
|
|
import com.inspur.customer.object.org.SmsbUserAdd;
|
|
|
import com.inspur.customer.object.wechat.Pair;
|
|
|
-import com.inspur.customer.constant.Constant;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
|
import org.keycloak.admin.client.resource.*;
|
|
|
@@ -121,7 +121,6 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
roles.forEach(n ->{
|
|
|
if(n.getName().equalsIgnoreCase(role)){
|
|
|
result.set(true);
|
|
|
- return;
|
|
|
}
|
|
|
});
|
|
|
return result.get();
|
|
|
@@ -323,16 +322,16 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
private String getUserIdByName(String username){
|
|
|
Optional<String> optional = realmResource.users().search(username)
|
|
|
.stream().filter(user -> user.getUsername().equals(username))
|
|
|
- .map(i -> i.getId())
|
|
|
+ .map(UserRepresentation::getId)
|
|
|
.findFirst();
|
|
|
return optional.isEmpty()?null:optional.get();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Response updateUser(String userId, Object representation ,Integer oprateType) {
|
|
|
+ public Response updateUser(String userId, Object representation, Integer operateType) {
|
|
|
UserResource userResource = realmResource.users().get(userId);
|
|
|
UserRepresentation user = userResource.toRepresentation();
|
|
|
- switch (oprateType){
|
|
|
+ switch (operateType) {
|
|
|
case Constant.ENABLE:
|
|
|
SwitchDTO switchDTO = (SwitchDTO) representation;
|
|
|
user.setEnabled(switchDTO.getEnabled());
|
|
|
@@ -341,13 +340,15 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
CredentialRepresentation credential = (CredentialRepresentation) representation;
|
|
|
user.setCredentials(Stream.of(credential).collect(Collectors.toList()));
|
|
|
break;
|
|
|
- case Constant.RESET_ATTRBUTE:
|
|
|
+ case Constant.RESET_ATTRIBUTE:
|
|
|
UserRepresentation userRepresentation = (UserRepresentation) representation;
|
|
|
user.setEmail(Optional.ofNullable(userRepresentation.getEmail()).orElse(null));
|
|
|
user.setFirstName(userRepresentation.getFirstName());
|
|
|
user.setAttributes(userRepresentation.getAttributes());
|
|
|
+ break;
|
|
|
case Constant.UPDATE_USER_FIRSTNAME:
|
|
|
user.setFirstName((String) representation);
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
@@ -366,13 +367,12 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
UserResource userResource = realmResource.users().get(userId);
|
|
|
List<GroupRepresentation> groups = userResource.groups();
|
|
|
// 移除
|
|
|
- groups.forEach(groupRepresentation->{userResource.leaveGroup(groupRepresentation.getId());});
|
|
|
+ groups.forEach(groupRepresentation-> userResource.leaveGroup(groupRepresentation.getId()));
|
|
|
// 添加
|
|
|
GroupsResource initGroups = realmResource.groups();
|
|
|
- List<String> targetGroups = Arrays.asList(initGroups.group(groupId).toRepresentation().getPath().split("/"))
|
|
|
- .stream().filter(t -> Objects.nonNull(t)).collect(Collectors.toList());
|
|
|
+ List<String> targetGroups = Arrays.stream(initGroups.group(groupId).toRepresentation().getPath().split("/")).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
|
|
|
- getGroupId(targetGroups ,initGroups.groups()).forEach(targetGroupId->{userResource.joinGroup(targetGroupId);});
|
|
|
+ getGroupId(targetGroups ,initGroups.groups()).forEach(userResource::joinGroup);
|
|
|
return SingleResponse.buildSuccess();
|
|
|
}
|
|
|
|
|
|
@@ -387,10 +387,10 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Response roleMapping(UsersRoleMappingDTO ssersRoleMappingDTO) {
|
|
|
- RoleScopeResource roleScopeResource = realmResource.users().get(ssersRoleMappingDTO.getUserId()).roles().realmLevel();
|
|
|
- roleScopeResource.add(Optional.ofNullable(ssersRoleMappingDTO.getAddRoleList()).orElse(Lists.newArrayList()));
|
|
|
- roleScopeResource.remove(Optional.ofNullable(ssersRoleMappingDTO.getRemoveRoleList()).orElse(Lists.newArrayList()));
|
|
|
+ public Response roleMapping(UsersRoleMappingDTO usersRoleMappingDTO) {
|
|
|
+ RoleScopeResource roleScopeResource = realmResource.users().get(usersRoleMappingDTO.getUserId()).roles().realmLevel();
|
|
|
+ roleScopeResource.add(Optional.ofNullable(usersRoleMappingDTO.getAddRoleList()).orElse(Lists.newArrayList()));
|
|
|
+ roleScopeResource.remove(Optional.ofNullable(usersRoleMappingDTO.getRemoveRoleList()).orElse(Lists.newArrayList()));
|
|
|
return SingleResponse.buildSuccess();
|
|
|
}
|
|
|
|
|
|
@@ -406,14 +406,14 @@ public class KeycloakServiceImpl implements KeycloakService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Response addKeyclaokTenant(GroupRepresentation groupRepresentation) {
|
|
|
+ public Response addKeycloakTenant(GroupRepresentation groupRepresentation) {
|
|
|
return SingleResponse.of(realmResource.groups().add(groupRepresentation).getDate());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Boolean isExitTargetRole(String userId ,String role) {
|
|
|
List<String> roleList = realmResource.users().get(userId).roles().realmLevel().listAll()
|
|
|
- .stream().map(i -> i.getName()).collect(Collectors.toList());
|
|
|
+ .stream().map(RoleRepresentation::getName).collect(Collectors.toList());
|
|
|
return roleList.contains(role);
|
|
|
}
|
|
|
|