我正在尝试使用keycloak管理客户端api从域中删除用户。
我在这里跟随一个例子:https://gist.github.com/thomasdarimont/43689aefb37540624e35
这是我的代码的样子:
Keycloak kc = KeycloakBuilder.builder().serverUrl("https://localhost:8445/auth")
.realm("sensorcloud-auth").username("admin").password("admin").clientId("admin-cli")
.clientSecret("b6b4f0ec-9936-46a2-9f40-69c207e2e0f2")
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build();
kc.realm("sensorcloud-auth").users().get("a3fdac49-f7eb-4be7-a81f-b48b09a6694c").remove();
我可以使用用户名admin和密码admin登录keycloak管理控制台,我很确定没有其他参数的拼写错误,但每次当我尝试用userId删除用户时,我都会收到401 Unauthorized错误。有人可以帮我弄清楚发生了什么吗?
不确定您使用的是哪个版本的keycloak管理客户端API,当前的API没有删除操作。
它应该是kc.realm(realmName).users().delete(id)
。您可以查看REST API以获取删除用户
当在承载者/用户的访问令牌的iss字段上标记的主机名具有不同的情况,即小写与大写时,我们不断获得HTTP 401状态代码响应,而不是用于向密钥泄露的令牌端点发送HTTP请求的URL。