为特定客户端模拟用户

Impersonate user for specific client

我部署了一个 Keycloak 实例。要求是帮助台能够模拟用户。

A​​dmin-GUI 中有一个模拟按钮,太棒了。但是模拟按钮让我 access_token 用于帐户控制台。我需要其他客户的代币。有没有办法“使用我的管理员权限以用户 Y 身份登录应用程序 X”?

Impersonation-Endpoint 似乎没有提供指定要模拟的应用程序的功能 (https://www.keycloak.org/docs-api/15.0/rest-api/index.html#_impersonate)。

编辑:对不起,这是由我这边的一个错误引起的!确保您没有登录领域中的任何其他应用程序,并且在按下模拟后也没有触发任何应用程序的注销功能! (否则你必须重做一切)

提前致谢!

keycloak 中的模拟是 realm 级别。您从模拟按钮获得的 access_token 不限于 account-console,它可以被来自同一领域的其他客户端(或应用程序)使用。尝试从同一领域访问任何其他 application/client。您应该能够直接访问该应用程序。

如果你想限制对特定客户端的模拟,那么你必须扩展 Authenticator 并自己实现逻辑。