在 Keycloak 中使用自定义 Admin REST API 获取用户的 ID 令牌

Get ID token of a user using custom Admin REST API in Keycloak

在我现在正在开发的系统中,我想使用 Keycloak 的管理员 REST API 在我的 Keycloak 服务器中获取用户的 ID 令牌,而不知道用户的密码(即使用只有管​​理员用户的密码)。

也就是说,我想要一个管理员 API GET /{realm}/users/{id}/id-token.

是否可以实现?

(Keycloak 的文档说可以实现自定义 API 端点(https://www.keycloak.org/docs/latest/server_development/index.html#_extensions_rest), 但我不确定我是否可以添加我想要的功能。)

这听起来像是一个非常危险的功能(IDP 管理员可以伪装成他的 IDP 用户池中的任何用户)。但是您仍然缺少一个输入 - 客户端。每个客户端可能生成不同的令牌。

我想说你可能需要:

1.) 示例访问令牌功能(不是 ID 令牌!)

检查GET /{realm}/clients/{id}/evaluate-scopes/generate-example-access-token端点

https://www.keycloak.org/docs-api/11.0/rest-api/index.html

2.) 模仿功能

https://www.keycloak.org/docs/latest/server_admin/#impersonation

3.) 在 Keycloak 中自行实现,因此它完全符合您的需求。