mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-05-31 09:12:14 +00:00
Check for null Name Attribute Value
Closes gh-15338
This commit is contained in:
parent
fdcf3c6df9
commit
e69e0eb245
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2021 the original author or authors.
|
* Copyright 2002-2024 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -44,6 +44,7 @@ import org.springframework.util.Assert;
|
|||||||
*
|
*
|
||||||
* @author Joe Grandja
|
* @author Joe Grandja
|
||||||
* @author Eddú Meléndez
|
* @author Eddú Meléndez
|
||||||
|
* @author Park Hyojong
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
* @see OAuth2User
|
* @see OAuth2User
|
||||||
*/
|
*/
|
||||||
@ -68,9 +69,8 @@ public class DefaultOAuth2User implements OAuth2User, Serializable {
|
|||||||
String nameAttributeKey) {
|
String nameAttributeKey) {
|
||||||
Assert.notEmpty(attributes, "attributes cannot be empty");
|
Assert.notEmpty(attributes, "attributes cannot be empty");
|
||||||
Assert.hasText(nameAttributeKey, "nameAttributeKey cannot be empty");
|
Assert.hasText(nameAttributeKey, "nameAttributeKey cannot be empty");
|
||||||
if (!attributes.containsKey(nameAttributeKey)) {
|
Assert.notNull(attributes.get(nameAttributeKey), "Attribute value for '" + nameAttributeKey + "' cannot be null");
|
||||||
throw new IllegalArgumentException("Missing attribute '" + nameAttributeKey + "' in attributes");
|
|
||||||
}
|
|
||||||
this.authorities = (authorities != null)
|
this.authorities = (authorities != null)
|
||||||
? Collections.unmodifiableSet(new LinkedHashSet<>(this.sortAuthorities(authorities)))
|
? Collections.unmodifiableSet(new LinkedHashSet<>(this.sortAuthorities(authorities)))
|
||||||
: Collections.unmodifiableSet(new LinkedHashSet<>(AuthorityUtils.NO_AUTHORITIES));
|
: Collections.unmodifiableSet(new LinkedHashSet<>(AuthorityUtils.NO_AUTHORITIES));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2002-2021 the original author or authors.
|
* Copyright 2002-2024 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@ -34,6 +34,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
|||||||
*
|
*
|
||||||
* @author Vedran Pavic
|
* @author Vedran Pavic
|
||||||
* @author Joe Grandja
|
* @author Joe Grandja
|
||||||
|
* @author Park Hyojong
|
||||||
*/
|
*/
|
||||||
public class DefaultOAuth2UserTests {
|
public class DefaultOAuth2UserTests {
|
||||||
|
|
||||||
@ -59,6 +60,12 @@ public class DefaultOAuth2UserTests {
|
|||||||
.isThrownBy(() -> new DefaultOAuth2User(AUTHORITIES, Collections.emptyMap(), ATTRIBUTE_NAME_KEY));
|
.isThrownBy(() -> new DefaultOAuth2User(AUTHORITIES, Collections.emptyMap(), ATTRIBUTE_NAME_KEY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void constructorWhenAttributeValueIsNullThenThrowIllegalArgumentException() {
|
||||||
|
assertThatIllegalArgumentException().isThrownBy(() -> new DefaultOAuth2User(AUTHORITIES,
|
||||||
|
Collections.singletonMap(ATTRIBUTE_NAME_KEY, null), ATTRIBUTE_NAME_KEY));
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void constructorWhenNameAttributeKeyIsNullThenThrowIllegalArgumentException() {
|
public void constructorWhenNameAttributeKeyIsNullThenThrowIllegalArgumentException() {
|
||||||
assertThatIllegalArgumentException().isThrownBy(() -> new DefaultOAuth2User(AUTHORITIES, ATTRIBUTES, null));
|
assertThatIllegalArgumentException().isThrownBy(() -> new DefaultOAuth2User(AUTHORITIES, ATTRIBUTES, null));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user