Description
When a refresh token grant exchange occurs with a ClientAuthentication Method set to NONE
On a servlet appliction, the client_id
field will be missing because it is only added if the ClientAuthenticationMethod
is set to CLIENT_SECRET_POST
: see OAuth2Refresh TokenGrantRequestEntityConverter
On a reactive applicatoin, the behavior is not consistent because the client_id
field is always added except if ClientAuthenticationMethod
is set to CLIENT_SECRET_BASIC
: see AbstractWebClientReactiveOAuth2AccessTokenResponseClient
Our internal IDP use only public clients but client_id
parameter is mandatory, so the reactive default seems better for us, but maybe there are other cases that would make the current servlet default better?
I don't see any clear answer for the specification, some implementations (like Auth0 or Curity) seems to always ask a client_id
, but other don't (like Okta).
Maybe the client_id
inclusion should depend from another property of the client registration instead of the ClientAuthenticationMethod
?