Bor*_*eco 13 keycloak keycloak-services
有没有办法通过REST获取Keycloak领域的用户列表而不使用管理员帐户?管理控制台可能有某种可分配的角色?寻找任何想法.
现在我正在使用管理员凭据来获取访问令牌,然后使用该令牌从realm/users端点提取用户.
获取令牌(来自node.js应用程序request):
uri: `${keycloakUri}/realms/master/protocol/openid-connect/token`,
form: {
grant_type: 'password',
client_id: 'admin-cli',
username: adminUsername,
password: adminPassword,
}
Run Code Online (Sandbox Code Playgroud)
使用令牌:
uri: `${keycloakUri}/admin/realms/${keycloakRealm}/users`,
headers: {
'authorization': `bearer ${passwordGrantToken}`,
}
Run Code Online (Sandbox Code Playgroud)
我希望能够使用客户端应用程序中的通用用户信息(用户名,电子邮件,全名).
Xtr*_*ica 20
您需要view-users从realm-management客户端为所需用户分配角色.这将是用户的配置:
然后,您可以从${keycloakUri}/admin/realms/${keycloakRealm}/users端点获取所有用户.这是从连接点检索到的信息,通过Postman加入:
此外,与问题无关,我强烈建议你不要使用,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`
Run Code Online (Sandbox Code Playgroud)
这有点神秘,幸运的是,这不是你应该如何获得令牌.应通过重定向到Keycloak登录页面来获取Web应用程序的标记.我们只是这样做,所以我们可以测试服务,因为我们还没有可以调用服务的应用程序.基本上我们在这里做的是调用Keycloaks OpenID Connect令牌端点,将grant type设置为password,这是资源所有者凭据流,允许交换令牌的用户名和密码.
另见Oauth2规范.
| 归档时间: |
|
| 查看次数: |
13748 次 |
| 最近记录: |