Procházet zdrojové kódy

Use id field instead of name field for GitHub and Facebook providers.

Fixes gh-4764
Craig Walls před 7 roky
rodič
revize
06c4bffc5f

+ 2 - 2
config/src/main/java/org/springframework/security/config/oauth2/client/CommonOAuth2Provider.java

@@ -58,7 +58,7 @@ public enum CommonOAuth2Provider {
 			builder.authorizationUri("https://github.com/login/oauth/authorize");
 			builder.authorizationUri("https://github.com/login/oauth/authorize");
 			builder.tokenUri("https://github.com/login/oauth/access_token");
 			builder.tokenUri("https://github.com/login/oauth/access_token");
 			builder.userInfoUri("https://api.github.com/user");
 			builder.userInfoUri("https://api.github.com/user");
-			builder.userNameAttributeName("name");
+			builder.userNameAttributeName("id");
 			builder.clientName("GitHub");
 			builder.clientName("GitHub");
 			return builder;
 			return builder;
 		}
 		}
@@ -74,7 +74,7 @@ public enum CommonOAuth2Provider {
 			builder.authorizationUri("https://www.facebook.com/v2.8/dialog/oauth");
 			builder.authorizationUri("https://www.facebook.com/v2.8/dialog/oauth");
 			builder.tokenUri("https://graph.facebook.com/v2.8/oauth/access_token");
 			builder.tokenUri("https://graph.facebook.com/v2.8/oauth/access_token");
 			builder.userInfoUri("https://graph.facebook.com/me");
 			builder.userInfoUri("https://graph.facebook.com/me");
-			builder.userNameAttributeName("name");
+			builder.userNameAttributeName("id");
 			builder.clientName("Facebook");
 			builder.clientName("Facebook");
 			return builder;
 			return builder;
 		}
 		}

+ 2 - 2
config/src/test/java/org/springframework/security/config/oauth2/client/CommonOAuth2ProviderTests.java

@@ -69,7 +69,7 @@ public class CommonOAuth2ProviderTests {
 		assertThat(providerDetails.getUserInfoEndpoint().getUri())
 		assertThat(providerDetails.getUserInfoEndpoint().getUri())
 			.isEqualTo("https://api.github.com/user");
 			.isEqualTo("https://api.github.com/user");
 		assertThat(providerDetails.getUserInfoEndpoint().getUserNameAttributeName())
 		assertThat(providerDetails.getUserInfoEndpoint().getUserNameAttributeName())
-			.isEqualTo("name");
+			.isEqualTo("id");
 		assertThat(providerDetails.getJwkSetUri()).isNull();
 		assertThat(providerDetails.getJwkSetUri()).isNull();
 		assertThat(registration.getClientAuthenticationMethod())
 		assertThat(registration.getClientAuthenticationMethod())
 			.isEqualTo(ClientAuthenticationMethod.BASIC);
 			.isEqualTo(ClientAuthenticationMethod.BASIC);
@@ -92,7 +92,7 @@ public class CommonOAuth2ProviderTests {
 		assertThat(providerDetails.getUserInfoEndpoint().getUri())
 		assertThat(providerDetails.getUserInfoEndpoint().getUri())
 			.isEqualTo("https://graph.facebook.com/me");
 			.isEqualTo("https://graph.facebook.com/me");
 		assertThat(providerDetails.getUserInfoEndpoint().getUserNameAttributeName())
 		assertThat(providerDetails.getUserInfoEndpoint().getUserNameAttributeName())
-			.isEqualTo("name");
+			.isEqualTo("id");
 		assertThat(providerDetails.getJwkSetUri()).isNull();
 		assertThat(providerDetails.getJwkSetUri()).isNull();
 		assertThat(registration.getClientAuthenticationMethod())
 		assertThat(registration.getClientAuthenticationMethod())
 			.isEqualTo(ClientAuthenticationMethod.POST);
 			.isEqualTo(ClientAuthenticationMethod.POST);