We are currently running keycloak 19 having migrated from older version of keycloak (v4).
Everything is going well, however, we noticed that due to some changes in the use of Base64Url decode v/s legacy Base64 decode (down to certain chars - + and /) we get illegal base64 string.
We want to extend or overwrite ClientIdAndSecretCredentialsProvider in which we can make relevant changes to handle base64 encode decode for backward compatibility.
Is there a way to do this via SPI mechanism ? If so, how we can go about doing it ?
I did read in keycloak document about doing custom provider, but here we want to overwrite certain behavior for one of the provider classes keycloak comes with.
Never overwrite an existing provider, instead, write your own provider or extend an existing provider with a custom provider and then set this new provider as default.
This guide tells you how you configure providers as default: Configuring providers - Keycloak
Thank you for the response, so I did go through that but I guess part where I am not entirely sure is this.
I can extend the authenticator in my case: ClientIdAndSecretAuthenticator
This class already extends AbstractClientAuthenticator which internally implements ClientAuthenticator, ClientAuthenticatorFactory