GitHub OAuth uses organization membership to grant access. You specify the name of an organization on GitHub.com, and then only members of that organization's teams will be granted access to your GitHub Enterprise appliance.

Once you have enabled GitHub OAuth, all "sign up" links will be disabled.

Prerequisites

  • Your company must have an organization account on GitHub.com.
  • Each GitHub Enterprise user must be a member of at least one team in your GitHub.com organization.
  • Your GitHub Enterprise appliance must be able to communicate with GitHub.com via HTTPS (port 443).

License seats

Members of your GitHub.com organization do not take up a license seat until they sign into your GitHub Enterprise appliance for the first time.

Site administrators

User accounts are not automatically promoted to site administrators; this must be done manually. For more information, see "Promoting a site administrator."

User suspension

Even if users revoke your appliance's authorization to access their GitHub.com data, their GitHub Enterprise accounts will not be automatically suspended; this must be done manually. For more information, see "Suspending a user."

Sign-in flow

  1. A user clicks a "sign in" link on your GitHub Enterprise appliance.

  2. The user is redirected to the GitHub.com sign-in screen.

  3. The user provides her GitHub.com account credentials.

  4. If the user has not authorized your appliance to access her account, she is prompted to do so now.

  5. The user is redirected back to your GitHub Enterprise appliance.

  6. If the user is not a member of at least one team in your GitHub.com organization, she is denied access to your appliance.

  7. If your appliance has a user account with the same name as the user's GitHub.com account, she is now signed into that account.

  8. If your appliance does not have a user account with the same name as the user's GitHub.com account, it is created with the same profile information, email addresses, and public SSH keys as its corresponding GitHub.com account.

  9. If your appliance has an organization and teams with the same names as your GitHub.com organization and its teams, respectively, the user is added to the same teams on your appliance that she is a member of on GitHub.com.

Further reading