EasyMorph does not support OAuth Client Credentials Flow out of the box (UPDATE - supports, see below) , but since this flow is rather minimalistic, you can get by with using basic Web request / Parse JSON actions.
To obtain authorization token using Client Credentials Flow you have to:
1. Make a POST request to your OAuth Server
Request body should be in application/x-www-form-urlencoded form and should contain at least client_id, client_secret and grant_type fields. The first two fields should equal to your client id and secret, respectively, and grant_type should be client_credentials. You may have to specify scope field to, but that field is optinal and application-specific, e.g. it's value depends on what are you authorizing against.
The Web request action to perform such request could look like this:
2. Parse JSON response.
Regardless of request being in application/x-www-form-urlencoded, we always get response in application/json form. In case of Client Credentials Flow response should look something like this
{
'access_token': '<access token>',
'expires_in': 'expiration time',
'scope': 'if present, actual access scopes granted',
'token_type': 'Bearer'
}
Actually we're interested only in access_token field.
3. Extract access_token and use it
Suppose we need to be authorized to call to some protected endpoint. Using Parse JSON action we pick access_token field from the response, append Bearer string to it (that's required by convention) and finally use this string as Authorization header value when making actual request to protected endpoint:




