我正在使用Keycloak api,但我有以下问题:在"master"我有一个名为"foo"(以客户端名称"foo-real "显示)
master> foo-realm (foo)
在"foo"我有一个名为"客户"的客户。
在"master"我有一个用户名为"client-admin"。
我希望能够使用api查询和更新用户信息在"client"使用"client-admin">
"client-admin"拥有"foo-real"的所有角色。(查询-用户、管理-领域等),并出现在"用户角色"中。
但是我不能使它与api工作:
KeycloakBuilder.builder()
.serverUrl("serverUrl")
.realm("master")
.grantType(OAuth2Constants.PASSWORD)
.clientId("foo-realm")
.username("client-admin")
.password("client-admin-password").build().realm("foo").users().list()
我得到javax.ws.rs.NotAuthorizedException: HTTP 401 Unauthorized从这个.
api正在工作,就像我们用来查询"client"与用户直接创建到"foo"(参见下面的片段)。但是我们在密码更新策略上遇到了问题,所以现在我们希望用户处于"master"状态。我想我没有把角色的归属做对,但是我不明白是哪里错了。
KeycloakBuilder.builder()
.serverUrl("serverUrl")
.realm("foo")
.grantType(OAuth2Constants.PASSWORD)
.clientId("client-id")
.clientSecret("client")
.username("admin-in-foo")
.password("admin-in-foo-password").build().realm("foo").users().list()
我也试过这个,但我仍然得到一个401未经授权
KeycloakBuilder.builder()
.serverUrl("serverUrl")
.realm("foo")
.grantType(OAuth2Constants.PASSWORD)
.clientId("client")
.clientSecret("client-secret")
.username("client-admin")
.password("client-admin-password").build().realm("foo").users().list()
欢迎任何帮助。谢谢你的阅读。
好了,我找到答案了。我必须查询"admin-cli"。客户端变成"主人";如下所示:
KeycloakBuilder.builder()
.serverUrl("serverUrl")
.realm("master")
.grantType(OAuth2Constants.PASSWORD)
.clientId("admin-cli")
.username("client-admin")
.password("client-admin-password").build().realm("foo").users().list()