首页 > 解决方案 > Keycloak中获取用户的JWT

问题描述

作为 Keycloak 服务器的管理员,我如何在不知道密码的情况下获取特定用户的访问令牌?不幸的是,模仿对我没有帮助,因为它既不包含他的 ID,也不包含他的用户名。

标签: jwtkeycloak

解决方案


从 keycloak 3.4.0 开始有一个称为令牌交换的功能,它允许您从具有模拟权限的用户交换访问令牌,以代表其他用户获取其他令牌。您可以通过这种方式使用令牌端点:

curl -X POST \
    -d "client_id=starting-client" \
    -d "client_secret=geheim" \
    --data-urlencode "grant_type=urn:ietf:params:oauth:grant-type:token-exchange" \
    -d "subject_token=...." \
    --data-urlencode "requested_token_type=urn:ietf:params:oauth:token-type:access_token" \
    -d "audience=target-client" \
    -d "requested_subject=wburke" \
    http://localhost:8080/auth/realms/myrealm/protocol/openid-connect/token

你可能会发现这篇文章也很有用。


推荐阅读