我正在尝试使用keycloak admin client 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未经授权的错误。有人可以帮我弄清楚发生了什么吗?
答案 0 :(得分:1)
不确定您使用的是哪个版本的keycloak管理客户端API,当前的API没有删除操作。
应该是kc.realm(realmName).users().delete(id)
。您可以查看REST API删除用户
答案 1 :(得分:0)
当承载者/用户的访问令牌的iss字段上标记的主机名的大小写大小写不同(即,用于将HTTP请求发布到密钥库的令牌端点的URL的大小写不同)时,我们不断收到HTTP 401状态代码响应。 / p>
答案 2 :(得分:0)
在创建Keycloak实例时,领域应该是主领域。 使用Master Realm创建实例后,可以使用代码删除用户。