Add client credentials grant with basic auth #422
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The currently supported OAuth2 client credentials grant includes the client_id and the client_secret in the body of the request. Some APIs require that the client_id and client_secret are sent using the HTTP Basic Authentication scheme. This PR adds a new client credentials request that supports the basic authentication method instead of the request body method.
The request only adds new files and should not cause any backwards compatibility issues.
RFC reference: https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1
Implementation Notes:
GetClientCredentialsTokenBasicAuthRequest
was copied from the existingGetClientCredentialsTokenRequest
. ThedefaultBody()
method was updated to remove theclient_id
/client_secret
from the body, and thedefaultAuth()
method was added to implement the basic authentication.ClientCredentialsBasicAuthGrant
trait uses the existingClientCredentialsGrant
trait, and just redefines theresolveAccessTokenRequest()
method to use the new request file.