获取用户密钥斗篷未找到异常
Getting user keycloak Not Found exception
我无法获得样本中的用户组。
样本来自:
看看我们的测试套件。例如:
示例代码来自用户所属群组的接收示例:
List<GroupRepresentation> membership = realm.users().get(user.getId()).groups();
我的做法:
1. 我在 myrealm 领域为 admin-cli 客户端创建 keycloak 对象:
this.keycloak = KeycloakBuilder.builder()
.serverUrl("http://localhost:18080/auth")
.realm("myrealm")
.username("admin")
.password("admin")
.clientId("admin-cli")
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
.build();
当我尝试获取用户时:
//this line works
final UserResource userr = this.keycloak.realms().realm("myrealm").users().get("admin");
//this two doesnt, in both result is javax.ws.rs.NotFoundException: HTTP 404 Not Found
final UserRepresentation ur = userr.toRepresentation();
final List<GroupRepresentation> groups = this.getRealm().users().get(user.getId()).groups();
在 admin-cli 的 keycloak 中,我创建了具有 2 个用户和 2 个组的领域 "myrealm"
每个用户都是这两个组的成员。 admin 是此用户之一,并且是这两个组的成员。
我创建的用户在 "myrealm" 领域,"admin" 是其中之一。
我也曾尝试提供来自客户端和领域的所有可用角色,但这没有任何改变。
admin-cli 我的意思是本地主机上的 keycloak 应用程序
我错过了什么?
我正在使用的库:
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
我刚刚遇到了和你一样的问题。问题出在 get
方法上。它的参数不是用户名(admin
),而是用户标识符。像 494061c1-c8f3-44c9-8542-df895af81716
这样的东西。
在我的例子中,我正确地尝试传递了用户 ID,但我使用了令牌 ID,这是完全不同的。
我无法获得样本中的用户组。 样本来自: 看看我们的测试套件。例如:
示例代码来自用户所属群组的接收示例:
List<GroupRepresentation> membership = realm.users().get(user.getId()).groups();
我的做法: 1. 我在 myrealm 领域为 admin-cli 客户端创建 keycloak 对象:
this.keycloak = KeycloakBuilder.builder()
.serverUrl("http://localhost:18080/auth")
.realm("myrealm")
.username("admin")
.password("admin")
.clientId("admin-cli")
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
.build();
当我尝试获取用户时:
//this line works final UserResource userr = this.keycloak.realms().realm("myrealm").users().get("admin"); //this two doesnt, in both result is javax.ws.rs.NotFoundException: HTTP 404 Not Found final UserRepresentation ur = userr.toRepresentation(); final List<GroupRepresentation> groups = this.getRealm().users().get(user.getId()).groups();
在 admin-cli 的 keycloak 中,我创建了具有 2 个用户和 2 个组的领域 "myrealm" 每个用户都是这两个组的成员。 admin 是此用户之一,并且是这两个组的成员。
我创建的用户在 "myrealm" 领域,"admin" 是其中之一。
我也曾尝试提供来自客户端和领域的所有可用角色,但这没有任何改变。
admin-cli 我的意思是本地主机上的 keycloak 应用程序
我错过了什么?
我正在使用的库:
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UserResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.representations.idm.GroupRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
我刚刚遇到了和你一样的问题。问题出在 get
方法上。它的参数不是用户名(admin
),而是用户标识符。像 494061c1-c8f3-44c9-8542-df895af81716
这样的东西。
在我的例子中,我正确地尝试传递了用户 ID,但我使用了令牌 ID,这是完全不同的。