Spring 请求中的启动 Keycloak 客户端凭据 body

Spring Boot Keycloak Client Credentials in request body

我有一个应用程序使用 Keycloak Spring Boot Starter 并与 Keycloak 的自定义变体通信以生成令牌。问题是应用程序以标准方式在请求 header (ClienIdAndClientCredentialsProvider) 中发送客户端凭据。我希望在请求 body 中发送客户端凭据,而不是因为 Keycloak 的自定义变体希望在请求 body.

中发送它

有没有办法实现这个?

src/main/resources/META-INF/services 下创建一个名称为 org.keycloak.adapters.authentication.ClientCredentialsProvider 的文件,内容为:

com.whatever.app.CustomClientCredentialsProvider

application.properties 文件中将其更改为:

// Provider names should be same as PROVIDER_ID and not be existing like secret, jwt, etc
keycloak.credentials.custom=xxxxx
keycloak.credentials.provider=custom

并在您的 CustomClientCredentialsProvider 中更改以下行:

public static final String PROVIDER_ID = "custom";