| This plugins allows to integrate Gerrit with external set of users configured | |
| on GitHub. | |
| It relies on the installation of the github-oauth Java library under the `$GERRIT_SITE/lib` | |
| in order filter all the HTTP requests through the GitHub OAuth 2.0 secure authentication. | |
| GitHub application registration | |
| ------------------------------- | |
| GitHub uses OAuth2 as protocol to allow external apps request authorization to private | |
| details in a user's GitHub account without getting their password. This is | |
| preferred over Basic Authentication because tokens can be limited to specific | |
| types of data, and can be revoked by users at any time. | |
| Site owners have to register their application before getting started. For | |
| more information see [GitHub application registration page](https://github.com/settings/applications/new). | |
| A registered OAuth application is assigned a unique `Client ID` and `Client | |
| Secret`. The `Client Secret` should never be shared. | |
| The Gerrit OAuth callback `<gerrit canonical URL>/oauth` | |
| needs to be specified in the GitHub application registration to establish mutual | |
| trust between the two domains and exchange the authorization codes. The use of HTTPS | |
| for Gerrit is strongly recommended for keeping the secrets exchange confidential. | |
| `auth.httpHeader` is set to `GITHUB_USER` with this authentication method and `auth.type` | |
| must be set to HTTP. |