当前位置: 首页 > 知识库问答 >
问题:

如何通过REST获取Keycloak用户而不使用admin帐户

周奇文
2023-03-14
uri: `${keycloakUri}/realms/master/protocol/openid-connect/token`,
form: {
  grant_type: 'password',
  client_id: 'admin-cli',
  username: adminUsername,
  password: adminPassword,
}
uri: `${keycloakUri}/admin/realms/${keycloakRealm}/users`,
headers: {
  'authorization': `bearer ${passwordGrantToken}`,
}

共有1个答案

嵇浩淼
2023-03-14

您需要从realm-management客户端为所需用户分配view-users角色。这将是用户的配置:

然后可以从${keycloakUri}/admin/realms/${keycloakRealm}/usersendpoint获取所有用户。这是从enpoint检索到的信息,通过邮递员访问:

另外,与所提问题无关的是,我强烈建议您不要使用grant_type=password,除非您绝对需要。来自keycloak博客:

RESULT=`curl --data "grant_type=password&client_id=curl&username=user&password=password" http://localhost:8180/auth/realms/master/protocol/openid-connect/token`
 类似资料:
  • 我需要阻止用户访问Keycloak帐户客户机(/auth/realms/[MYREALM]/Account),但我需要这个客户机提供的Rest API。 我用的是Keycloak 4.1.0。我试图通过keycloak管理面板(/auth/admin/master/console/#/realms/[MYREALM]/clients)禁用account client,但是如果禁用此客户端,acco

  • 嗨,我正在尝试使用Keycloak API,但我不太了解它的工作原理。我想获取一个领域的所有用户。所以我首先使用此endpoint获取一个令牌:在请求正文中使用此参数: client_id grant_type 用户名 密码 client_secret 第一个问题是:我应该使用什么客户端? 然后,我使用授权标头中的令牌调用此endpoint:

  • 我在从(移动)应用程序调用KeyCloak注销endpoint时遇到问题。 支持此方案,如其文档中所述: /realms/{realm-name}/protocol/openid-connect/logout 注销endpoint注销经过身份验证的用户。 可以将用户代理重定向到endpoint,在这种情况下,活动用户会话将注销。然后,用户代理被重定向回应用程序。 endpoint也可以由应用程序直

  • 我试图用java-admin-client创建一个新用户。我使用keycloak UI在我的领域中创建了一个新客户机。 代码: 最后一行是给我403禁止。