diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractor.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractor.java index 52eb830fc1b..9d16dae9a90 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractor.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractor.java @@ -79,7 +79,7 @@ public class FixedAuthoritiesExtractor implements AuthoritiesExtractor { } for (String key : AUTHORITY_KEYS) { if (map.containsKey(key)) { - return map.get(map); + return map.get(key); } } return map; diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractorTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractorTests.java index adf08c876af..9fcc7170366 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractorTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/FixedAuthoritiesExtractorTests.java @@ -75,8 +75,10 @@ public class FixedAuthoritiesExtractorTests { @Test public void authoritiesAsListOfMapsWithStandardKey() { - this.map.put("authorities", - Arrays.asList(Collections.singletonMap("role", "ROLE_ADMIN"))); + Map map = new LinkedHashMap(); + map.put("role", "ROLE_ADMIN"); + map.put("extra", "value"); + this.map.put("authorities", Arrays.asList(map)); assertThat(this.extractor.extractAuthorities(this.map).toString()) .isEqualTo("[ROLE_ADMIN]"); }