Add support for Client Credentials OAuth grants
Created by: svincent
User Story
- As a 3rd party application developer, I want to authenticate my application using OAuth 2.0's Client Credentials grant type (RFC 6749 section 4.4) so that my application can perform API calls without having to attain a user's permission.
Background
I'm currently taking a crack at #222 (Gitter browser extension) and there are some operations that make more sense to perform as an application than as a user. For example, with a browser extension it's weird that the user would have to authenticate with Gitter to see if a room exists when visiting https://github.com/gitterHQ/gitter.
User-agnostic request also allow 3rd party applications to request and cache generic data thereby reduce the total number Gitter API calls they have to execute. Besides the browser extension use case described above, this could also be handy for discoverability features such as room search, top charts, lists of rooms owned by a given group/user, or other such listings.
Edited by 🤖 GitLab Bot 🤖