diff --git a/src/main/java/com/googlesource/gerrit/plugins/oauth/GitHubOAuthService.java b/src/main/java/com/googlesource/gerrit/plugins/oauth/GitHubOAuthService.java
index a7959ee..c5b3c50 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/oauth/GitHubOAuthService.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/oauth/GitHubOAuthService.java
@@ -86,7 +86,9 @@
       JsonElement email = jsonObject.get("email");
       JsonElement name = jsonObject.get("name");
       JsonElement id = jsonObject.get("id");
+      JsonElement login = jsonObject.get("login");
       return new OAuthUserInfo(id.getAsString(),
+          login.isJsonNull() ? null : login.getAsString(),
           email.isJsonNull() ? null : email.getAsString(),
           name.isJsonNull() ? null : name.getAsString());
     } else {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/oauth/GoogleOAuthService.java b/src/main/java/com/googlesource/gerrit/plugins/oauth/GoogleOAuthService.java
index db24967..ed05b19 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/oauth/GoogleOAuthService.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/oauth/GoogleOAuthService.java
@@ -43,8 +43,10 @@
 class GoogleOAuthService implements OAuthServiceProvider {
   static final String CONFIG_SUFFIX = "-google-oauth";
   private static final String PROTECTED_RESOURCE_URL =
-  "https://www.googleapis.com/plus/v1/people/me/openIdConnect";
-  private static final String SCOPE = "email profile";
+      "https://www.googleapis.com/userinfo/v2/me";
+  //"https://www.googleapis.com/plus/v1/people/me/openIdConnect";
+  // profile causes username to disappear
+  private static final String SCOPE = "email";
   private final OAuthService service;
 
   @Inject
@@ -84,10 +86,11 @@
       JsonObject jsonObject = userJson.getAsJsonObject();
       JsonElement email = jsonObject.get("email");
       JsonElement name = jsonObject.get("name");
-      JsonElement id = jsonObject.get("sub");
-      return new OAuthUserInfo(id.getAsString(),
-          email.isJsonNull() ? null : email.getAsString(),
-          name.isJsonNull() ? null : name.getAsString());
+      JsonElement id = jsonObject.get("id");
+      return new OAuthUserInfo(id.getAsString() /*externalId*/,
+          name.isJsonNull() ? null : name.getAsString() /*username*/,
+          email.isJsonNull() ? null : email.getAsString() /*email*/,
+	      null /*displayName*/);
     } else {
         throw new IOException(String.format(
             "Invalid JSON '%s': not a JSON Object", userJson));
