KeycloakService.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.inspur.customer.client.keycloak;
  2. import com.inspur.customer.object.keycloak.KeycloakUserCO;
  3. import com.inspur.customer.object.wechat.Pair;
  4. import java.util.List;
  5. import java.util.Map;
  6. /**
  7. * keycloak接口能力适配
  8. * @author wangbo13
  9. */
  10. public interface KeycloakService {
  11. /**
  12. * 获取当前releam下用户Map<id,name>
  13. *
  14. * @return
  15. */
  16. Map<String, String> getUserMap();
  17. List<KeycloakUserCO> getUsersInRole(String role);
  18. List<KeycloakUserCO> getUsersByIds(List<String> userIds);
  19. /**
  20. * 检查用户是否具备某角色权限
  21. *
  22. * @param userId
  23. * @param role
  24. * @return
  25. */
  26. Boolean checkUserRole(String userId,String role);
  27. /**
  28. * 更新用户attribute
  29. *
  30. * @param userId
  31. * @param property
  32. * @param value
  33. */
  34. void updateAttribute(String userId ,String property , String value);
  35. /**
  36. * 获取attributes
  37. *
  38. * @param groupPath
  39. * @param key
  40. * @return
  41. */
  42. List<String> getAttrByGroupPath(String groupPath, String key);
  43. List<KeycloakUserCO> getGroupSupervisor(String group);
  44. List<KeycloakUserCO> getSuperAdmin();
  45. List<KeycloakUserCO> getGroupAdmin(String group);
  46. String getSingleAttrByGroupPath(String group, String key);
  47. /**
  48. * 根据属性键值对查找用户
  49. *
  50. * @param entries 属性键值对
  51. * @return 找到的用户
  52. */
  53. List<KeycloakUserCO> searchUserByAttrEntry(List<Pair> entries);
  54. List<String> getUserGroupPathList(String userId);
  55. List<String> getUserRealmRoles(String userId);
  56. Map<String, List<String>> getUserClientRoles(String userId);
  57. /**
  58. * 获取当前releam下用户Map<id,name>
  59. *
  60. * @return
  61. */
  62. Map<String, String> getUsersMap();
  63. }