Google Login Plugin For Hudson

Bad Good news

It is found that Hudson 3.3.0-RC1 causes Internal Server Errors on its common pages if the Google Login Plugin is enabled. It is advised to disable this plugin before upgrading Hudson to 3.3.0-RC1. Otherwise, you will have to manually disable or delete this plugin in Hudson’s home directory.

The Internal Server Error problem was a false alert. The Google Login Plugin can work on Hudson 3.3.0-RC1, though you must re-associate your Google account after the upgrade.

Introduction to the Google Login Plugin

The Google Login Plugin for Hudson enables federated login with Google and allows users to log into Hudson with their associated Google accounts. There is no edition of this plugin for Jenkins yet.

This plugin requires the Google APIs Client Library plugin and includes the Google OAuth2 API Client Library for Java. If you would like to use the OAuth2 API Client Library in your plugin, please let me know so that I can separate it into another plugin.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

As this program is licensed under the GNU Affero General Public License, if you modify this program and if it can interact with users remotely through a computer network, you must provide access to the source code of your modified version. If you are unwilling to provide access to the source code, you will have to get special permission from the author.

Usage of the Google Login Plugin

Initial configuration

To use this plugin to allow users to login with their Google accounts, an administrator must first configure it as follows:

  1. Create a Client ID for a web application in a project at the Google Developers Console. The authorized redirect URIs must at least include a URI root-URL/federatedLoginService/google/authorized. The author would also recommend to create a new project since its product name will be displayed on the consent screen when your users first associate their Google accounts.
  2. After you create a Client ID, fill the ID and the Secret for this plugin on the System Configurations page.

Login with a Google account

If this plugin has been successfully configured, logged-in users can associate any Google accounts from the User Configurations page, or by visiting root-URL/federatedLoginService/google/login. If a Google account has been associated, the user will be able to log in by the ‘Sign in with Google’ link on the login form.

Note: There is currently no way to unlink Google accounts except by editing a user account file directly.

Getting help for the Google Login Plugin

Please use the community forum for this program.

About this project

The source code repository of this program is hosted at If you are interested in what will be implemented in future versions, please sign up for a free Bitbucket account (if you have not yet) and watch the repository for notifications.

Release plans

The author plans to implement a security realm with Google authentication including Google Apps support in addition to the current federated login in a future version. If you want this feature sooner than later, vote for issue #6.

Other resources