From f886c2478d1d4b5954753fb742b3d2f994063a70 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Fri, 12 Dec 2014 15:45:46 +0900 Subject: [PATCH] OpenID: Add support for Launchpad on the login form The icon used in the login page is taken from [1] and encoded to base64 using [2]. [1] https://launchpadlibrarian.net/16111289/gem-sm.png [2] http://www.base64-image.de/ Change-Id: I8b3b10b7aef8a6dbae451edc017f9a35c1b9f1a9 --- .../com/google/gerrit/common/auth/openid/OpenIdUrls.java | 1 + .../com/google/gerrit/client/account/MyIdentitiesScreen.java | 3 +++ .../google/gerrit/client/auth/openid/OpenIdConstants.java | 1 + .../gerrit/client/auth/openid/OpenIdConstants.properties | 1 + .../java/com/google/gerrit/httpd/auth/openid/LoginForm.java | 1 + .../com/google/gerrit/httpd/auth/openid/LoginForm.html | 5 +++++ 6 files changed, 12 insertions(+) diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/auth/openid/OpenIdUrls.java b/gerrit-common/src/main/java/com/google/gerrit/common/auth/openid/OpenIdUrls.java index ba0bb7585e..79c17f42da 100644 --- a/gerrit-common/src/main/java/com/google/gerrit/common/auth/openid/OpenIdUrls.java +++ b/gerrit-common/src/main/java/com/google/gerrit/common/auth/openid/OpenIdUrls.java @@ -18,5 +18,6 @@ public class OpenIdUrls { public static final String OPENID_IDENTIFIER = "openid_identifier"; public static final String LASTID_COOKIE = "gerrit.last_openid"; + public static final String URL_LAUNCHPAD = "https://login.launchpad.net/+openid"; public static final String URL_YAHOO = "https://me.yahoo.com"; } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java index cb49f12f75..e0a6d8f9b8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyIdentitiesScreen.java @@ -246,6 +246,9 @@ public class MyIdentitiesScreen extends SettingsScreen { } else if (k.isScheme("https://www.google.com/accounts/o8/id")) { return OpenIdUtil.C.nameGoogle(); + } else if (k.isScheme(OpenIdUrls.URL_LAUNCHPAD)) { + return OpenIdUtil.C.nameLaunchpad(); + } else if (k.isScheme(OpenIdUrls.URL_YAHOO)) { return OpenIdUtil.C.nameYahoo(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.java index 5d756a108a..3bfb2970ac 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.java @@ -18,5 +18,6 @@ import com.google.gwt.i18n.client.Constants; public interface OpenIdConstants extends Constants { String nameGoogle(); + String nameLaunchpad(); String nameYahoo(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.properties index 1a8acc107b..08ddf38e0e 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdConstants.properties @@ -1,2 +1,3 @@ nameGoogle = Google Account +nameLaunchpad = Launchpad ID nameYahoo = Yahoo! ID diff --git a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java index e03842b092..fc2f0e0983 100644 --- a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java +++ b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java @@ -56,6 +56,7 @@ import javax.servlet.http.HttpServletResponse; class LoginForm extends HttpServlet { private static final Logger log = LoggerFactory.getLogger(LoginForm.class); private static final ImmutableMap ALL_PROVIDERS = ImmutableMap.of( + "launchpad", OpenIdUrls.URL_LAUNCHPAD, "yahoo", OpenIdUrls.URL_YAHOO); private final ImmutableSet suggestProviders; diff --git a/gerrit-openid/src/main/resources/com/google/gerrit/httpd/auth/openid/LoginForm.html b/gerrit-openid/src/main/resources/com/google/gerrit/httpd/auth/openid/LoginForm.html index 0a2d6abe9d..1e2c51052d 100644 --- a/gerrit-openid/src/main/resources/com/google/gerrit/httpd/auth/openid/LoginForm.html +++ b/gerrit-openid/src/main/resources/com/google/gerrit/httpd/auth/openid/LoginForm.html @@ -57,6 +57,11 @@ Cancel + +