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
This commit is contained in:
David Pursehouse 2014-12-12 15:45:46 +09:00 committed by David Ostrovsky
parent a7d3e6cea3
commit fbdf16584e
6 changed files with 12 additions and 0 deletions

View File

@ -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";
}

View File

@ -248,6 +248,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();

View File

@ -18,5 +18,6 @@ import com.google.gwt.i18n.client.Constants;
public interface OpenIdConstants extends Constants {
String nameGoogle();
String nameLaunchpad();
String nameYahoo();
}

View File

@ -1,2 +1,3 @@
nameGoogle = Google Account
nameLaunchpad = Launchpad ID
nameYahoo = Yahoo! ID

View File

@ -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<String, String> ALL_PROVIDERS = ImmutableMap.of(
"launchpad", OpenIdUrls.URL_LAUNCHPAD,
"yahoo", OpenIdUrls.URL_YAHOO);
private final ImmutableSet<String> suggestProviders;

View File

@ -57,6 +57,11 @@
<a href="../" id="cancel_link">Cancel</a>
</div>
<div id="provider_launchpad">
<img height="16" width="16" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHKSURBVCiRjZI9SFtRGIafc5tiVFCkhUxKBAcLYoPWwE0GEUPBwc0f1MHFoWLBiKABobWtBh2kacFYwUUQRXBoB3EJCVUvyBVrIB1UskTawUGFQOoP5h6H3ki8deg7vuc853zvxyuklORLDUc9QH9nZeAL0AGM+1v0cywSOVANR8uBaaALOOysDLwCYsAp8AaY97fo2RyoqOFooRqOvgUOTMiqJ8AsEA9tuH13IFkcQD1QZHpbQE+bPXEADAK5MSsA1/p+1SMAoTbF9oAh2WYUAcWbz5tThiQE1EsI7VxVzMWvHe2lGWP1RaqgWyKe1g5vjyhAHfBdrCmuWG1zqSHRAS9gFxBQC451/+PdhbqUPSYR00JSAmDLy+IE7ICwZHRkbBQKqMo3lQeW8V/KB5PAMSAtd06Kb7iQf8/vgXuA9/2V9nN7dCKjCNyABlxKmPqx7HQvDjX0HX29bBLIUSlIA4gNT9Bpw/gMtJqPaYD/2evJX5FgTQcwDpQBaeCD8+XZx8aZZFaxYZyYv/4xQS+wFAnWVAOfTAgzRrxxJpkFUHza2IVPG3sHVAMrD+zhFBgAXL0JPZIzhbXkEe+kB+j/nf52V/LexL8lvwVTCpkwGXEEfAAAAABJRU5ErkJggg=="/>
<a href="?id=https://login.launchpad.net/%2Bopenid" id="id_launchpad">Sign in with a Launchpad ID</a>
</div>
<div id="provider_yahoo">
<img height="16" width="16" src="data:image/gif;base64,R0lGODlhEAAQAPECAAAAAP8AAP///8zMzCH5BAEAAAMALAAAAAAQABAAAAIqnI+py30BY3AgAjCkfJDjiIAQlgUkNxqWkqrm0honKk7KhZOzw/f+fygAADs=" />
<a href="?id=https://me.yahoo.com" id="id_yahoo">Sign in with a Yahoo! ID</a>