I have learned OAuth 2.0 is delegated Access control. I want to ask here about OAuth2.0 Client Credential Grant flow ( http://oauthlib.readthedocs.io/en/latest/oauth2/grants/credentials.html) . When I read about this flow, it lets client application access resources under its own control(aka resources owned by client application) from Target Service (web api).For Example in case of Google Services - Client Application may want to retrieve Blob data owned by it from Google Blob Storage.
But I am seeing people using this flow for authenticating (not Authorizing) between client and Service application. e.g. there is one Web API, that serves some data which is public and not owned by particular client APP. And this Service needs to be only callable by few Client Applications that are well known to service. ( So new client application need to go through proper on-boarding process before they get Access Rights).
So Is it apt to use OAuth 2.0 Client Credential Flow in this case. Or Its only applicable when Client Application wants to access its own Resources.