如何从Keycloak的REST API中获取用户的first name和last name信息
原因说明
你调用的Keycloak Admin REST API批量查询用户列表接口,默认返回的是精简字段的用户信息,默认不返回firstName、lastName这类扩展属性;也有可能是对应的用户账号本身就没有在Keycloak中配置名和姓,接口默认不会返回无值的字段。
解决方法
方法1:查询单个用户详情获取完整属性
直接调用指定用户ID的单用户查询接口,即可返回该用户所有已配置的字段:
curl \ -H "Authorization: bearer <替换为你实际获取的访问令牌>" \ "https://example.com/auth/admin/realms/Development/users/<替换为目标用户的id值>"
如果用户已配置名和姓,返回结果中会直接出现firstName和lastName字段。
方法2:批量查询时添加参数返回完整属性
在批量查询用户的接口中添加briefRepresentation=false参数,即可强制接口返回所有用户的完整属性,无需逐个查询:
curl \ -H "Authorization: bearer <替换为你实际获取的访问令牌>" \ "https://example.com/auth/admin/realms/Development/users?briefRepresentation=false"
补充排查
如果以上两种方式调用后仍然没有返回firstName和lastName字段,说明对应账号确实没有配置这两项信息,你可以登录Keycloak管理后台,进入Development领域的用户管理页面,在对应用户的个人信息栏补充名和姓后,再次调用接口即可拿到对应数据。
内容的提问来源于stack exchange,提问作者Hossein Fallah
相关产品推荐
相关产品推荐

