如何通过Keycloak REST API获取用户的clientRoles?
你定义的接口地址本身没有错误,无法获取clientRoles字段是接口默认返回策略和权限配置的问题,可按以下步骤调整:
- 给请求追加
briefRepresentation=false查询参数。接口默认该参数值为true,仅返回用户基础精简信息,仅当设置为false时才会返回完整的UserRepresentation对象,包含clientRoles、realmRoles等可选扩展字段。 - 确认调用接口的身份凭证拥有
view-users和view-clients权限,若使用服务账号调用,需要给对应服务账号分配realm-management客户端下的这两个角色,权限不足时相关角色字段会被后端过滤不返回。
调整后的接口拼接示例:
const usersEndpoint = `${adminEndpoint}/realms/${realm}/users?briefRepresentation=false`;
如果需要同时返回用户所属用户组、自定义属性等信息,还可额外追加groups=true、attributes=true等查询参数。
内容的提问来源于stack exchange,提问作者Thomas Junk
相关产品推荐
相关产品推荐

