我已将Keycloak配置为身份代理,并连接到我创建的自定义OIDC提供程序。在authorization_code流中,Keycloak调用授权端点以获取代码。然后,它将调用我的自定义OIDC提供程序的令牌端点,以将代码交换为auth令牌。
我观察到Keycloak将client_id和client_secret作为参数传递给请求正文,而不是作为基本授权标头传递。我不想更改令牌端点上的安全配置。有没有办法让Keycloak使用Auth标头将令牌请求发送到IdP?
相关的Keycloak代码似乎在AbstractOAuth2IdentityProvider
的{{1}}方法中。这会将client-id和client-secret硬编码为在请求正文中作为参数传递。
根据OIDC规范,generateTokenRequest
是默认设置。如果Keycloak不支持此功能,我会感到惊讶;我只是似乎不知道如何配置它。