如何通过KeyCloak REST接口创建/查询用户?调用unknown_error报错如何解决
Keycloak API调用unknown_error解决方案
- 首先确认角色分配对象是否匹配授权模式
你当前使用grant_type: password密码授权模式获取Token,权限是绑定到你请求参数中username对应的Keycloak用户的,而非客户端的服务账号角色。你当前配置的服务账号角色仅对grant_type: client_credentials客户端凭证模式生效。
操作路径:进入MyRealm -> 用户 -> 找到你授权用的对应用户 -> 角色映射 -> 客户端角色 -> 选择内置的realm-management客户端,添加view-users、manage-users`权限。 - 检查API路径是否匹配Keycloak版本
Keycloak 17及以后的Quarkus发行版默认移除了上下文路径/auth,如果你的Keycloak版本高于等于17,将API路径中的/auth去掉即可,正确路径示例:
GET http://localhost:8180/admin/realms/MyRealm/users
- 修正创建用户接口的参数格式
你当前POST请求Body中enabled字段传的是字符串类型的"true",该字段要求为布尔类型,去掉引号改为true即可。 - 验证Token权限是否生效
可以将获取到的Access Token粘贴到本地JWT解析工具中,检查resource_access下的realm-management字段中是否包含view-users、manage-users角色,确认权限已经正确加载到Token中。
内容的提问来源于stack exchange,提问作者midi
相关产品推荐
相关产品推荐

