/github-oauth-plugin

Jenkins authentication plugin using GitHub OAuth as the source.

Primary LanguageJavaMIT LicenseMIT

Jenkins GitHub OAuth Plugin

Overview

The GitHub OAuth plugin provides a means of securing a Jenkins instance by offloading authentication and authorization to GitHub. The plugin authenticates by using a GitHub OAuth Application. It can use multiple authorization strategies for authorizing users. GitHub users are surfaced as Jenkins users for authorization. GitHub organizations and teams are surfaced as Jenkins groups for authorization. This plugin supports GitHub Enterprise.

More comprehensive documentation is listed on the wiki page.

Building the plugin from master

Prerequisites

This plugin was last compiled with the following versions.

  • Ubuntu 16.04.1 LTS
  • Apache Maven 3.3.9
  • Java version: 1.8.0_131, vendor: Oracle Corporation

Newer/older versions may work.

Packaging HPI for Jenkins

To create github-oauth.hpi which is the plugin that would be loaded in Jenkins execute the following command.

mvn clean package

The command assumes both Maven and Java are in your $PATH and that you have $JAVA_HOME set up.

Troubleshooting Installation

After installing per the wiki, the <securityRealm> class should have been updated in your /var/lib/jenkins/config.xml file. The value of <clientID> should agree with what you pasted into the admin UI. If it doesn't or you still can't log in, reset to <securityRealm class="hudson.security.HudsonPrivateSecurityRealm"> and restart Jenkins from the command-line.