Keycloak获取Realm内用户失败:返回空值或空数组
Keycloak查询Realm用户返回空数组的排查与解决
检查Realm名称拼写
代码中变量名是reamName,确认是否为拼写错误(正确应为realmName)。Realm名称错误会导致访问不存在的Realm,自然无法查询到用户。修正
search方法参数usersResource.search的参数顺序为:username, firstName, lastName, email, firstResult, maxResults。你传入的firstResult参数为1(结果从第1条开始索引,索引从0起),若用户数量少或参数设置错误会返回空。若要查询所有匹配用户,应将firstResult设为0,maxResults设为足够大的数值,示例:List<UserRepresentation> userss = usersResource.search(username, null, null, null, 0, 100);另外,若
username参数非空,仅会返回用户名匹配的用户;若要查询所有用户,可将username设为null,或直接使用usersResource.list()方法。验证客户端权限
确保创建keycloak实例的客户端拥有view-users、query-users等权限,且获取Token时包含对应权限的scope。确认目标Realm
核实查询的Realm确实是包含那7个用户的Realm,避免误操作到其他Realm(如master Realm)。修复类型安全问题
代码中List userss为原始类型,建议改为List<UserRepresentation>,避免类型转换问题,同时更清晰处理返回结果。
内容的提问来源于stack exchange,提问作者Neha Budhiraja
相关产品推荐
相关产品推荐

