我正在使用 Spring Boot、Keycloak 10、java 8 和 keycloak-admin-client jar。我能够获取用户、他的组和角色。
当谈到搜索时,我看到不同的搜索方法选项,例如我可以:
List<UserRepresentation> search = getKeycloakInstance().realm("my-realm").users()
.search("username");
但是我需要做的是编写几个方法:
按角色搜索(因此搜索具有某些角色的用户)
按群组和群组属性搜索
以“包含”方式按文本(名字、姓氏、电子邮件)搜索:mytext
按角色和文本搜索
按 ID 列表(用户的 UUID)搜索
我在 keycloak-admin-client 中没有看到这种可能性,或者我应该使用什么来代替 keycloak-admin-client ?
最佳答案
不幸的是,keycloak-admin-client 没有提供很多搜索选项。
如何按角色查找用户:
RoleResource roleResource = getKeycloakInstance().realm("realm_name")
.roles().get("role_name");
roleResource.getRoleUserMembers();
如何查找组中的所有用户:
getKeycloakInstance().realm("realm_name").groups().group("your_group").members();
如何通过用户名、名字、姓氏、电子邮件查找用户:
getKeycloakInstance().realm("my-realm").users()
.search("username", "lastName", "email");
如果您觉得合适,请尝试使用Keycloak Admin REST API以获得更多的搜索机会。
关于java - 从Java代码中搜索Keycloak中的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62149363/