blob: 5ba04a6f7f4f445bb2fbe65257a40485ac7e7595 [file] [log] [blame] [view]
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.