连接到身份提供者的令牌端点时,如何强制 Keycloak 使用授权 header?

How can I force Keycloak to use an Authorization header when connecting to an identity provider's token endpoint?

我已将 Keycloak 配置为身份代理,连接到我创建的自定义 OIDC 提供商。在 authorization_code 流程中,Keycloak 调用授权端点以获取代码。然后它调用我的自定义 OIDC 提供商的令牌端点来交换代码以获取身份验证令牌。

我观察到 Keycloak 在请求 body 中将 client_id 和 client_secret 作为参数传递,而不是作为基本授权 header。我不想更改令牌端点上的安全配置。有没有办法让 Keycloak 使用 Auth header?

向 IdP 发送令牌请求

相关的 Keycloak 代码似乎在 AbstractOAuth2IdentityProvidergenerateTokenRequest 方法中。 hard-codes client-id 和 client-secret 将作为请求中的参数传递 body。

根据 OIDC 规范,client_secret_basic 是默认值。如果 Keycloak 不支持,我会感到惊讶;我似乎无法弄清楚如何配置它。

很遗憾,此功能未实现。

功能请求:https://issues.jboss.org/browse/KEYCLOAK-5956