【发布时间】:2020-01-25 06:58:45
【问题描述】:
作为 Keycloak 服务器的管理员,我如何在不知道密码的情况下获取特定用户的访问令牌?不幸的是,模仿对我没有帮助,因为它既不包含他的 ID,也不包含他的用户名。
【问题讨论】:
作为 Keycloak 服务器的管理员,我如何在不知道密码的情况下获取特定用户的访问令牌?不幸的是,模仿对我没有帮助,因为它既不包含他的 ID,也不包含他的用户名。
【问题讨论】:
从 keycloak 3.4.0 开始有一个 feature 称为令牌交换,它允许您从具有模拟权限的用户交换访问令牌,以代表其他用户获取其他令牌。您可以通过这种方式使用令牌端点:
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
您可能会发现this post 也很有用。
【讨论】: