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

如何通过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也可以由应用程序直

  • 我有一个Web角前端,API网关受Cognito和Lambda保护,用于其他业务用例。登录和授权工作正常。我正在使用AWS Javascript SDK进行授权。像https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdf 在我的lambda中,我需要获得其他用户的信息,如名字、