12.5. 模拟(Impersonation)
对于内部和外部令牌交换,客户端可以代表用户请求模拟其他用户。例如,您可能有一个需要模拟用户的 admin 应用程序,以便支持工程师能够调试问题。
12.5.1. 为交换授予权限 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
主题令牌所代表的用户必须具有模拟其他用户的权限。有关如何启用 此权限,请参阅服务器管理指南。它可以通过角色或精细的 admin 权限来完成。
12.5.2. 发出请求 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
根据其他章节中所述发出请求,但额外指定 requested_subject 参数。此参数的值必须是用户名或用户 ID。
curl -X POST \
-d "client_id=starting-client" \
-d "client_secret=the client secret" \
--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/realms/myrealm/protocol/openid-connect/token