作为Keycloak服务器的管理员,如何在不知道其密码的情况下获取特定用户的访问令牌?不幸的是,假冒对我没有帮助,因为它既不包含他的ID也不包含他的用户名。
答案 0 :(得分:3)
从密钥斗篷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有用。