Enables empty authorityPrefix
- docs stated that empty authorityPrefix are allowed but implementation denied to use `""` - commit removes the `hasText`-limitation but restricts to `notNull` Fixes gh-8421
This commit is contained in:
parent
32ce94d2dd
commit
60d4d5b7ee
|
@ -68,7 +68,7 @@ public final class JwtGrantedAuthoritiesConverter implements Converter<Jwt, Coll
|
|||
* @since 5.2
|
||||
*/
|
||||
public void setAuthorityPrefix(String authorityPrefix) {
|
||||
Assert.hasText(authorityPrefix, "authorityPrefix cannot be empty");
|
||||
Assert.notNull(authorityPrefix, "authorityPrefix cannot be null");
|
||||
this.authorityPrefix = authorityPrefix;
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,12 @@ import static org.springframework.security.oauth2.jwt.TestJwts.jwt;
|
|||
*/
|
||||
public class JwtGrantedAuthoritiesConverterTests {
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void setAuthorityPrefixWithNullThenException() {
|
||||
JwtGrantedAuthoritiesConverter jwtGrantedAuthoritiesConverter = new JwtGrantedAuthoritiesConverter();
|
||||
jwtGrantedAuthoritiesConverter.setAuthorityPrefix(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertWhenTokenHasScopeAttributeThenTranslatedToAuthorities() {
|
||||
Jwt jwt = jwt().claim("scope", "message:read message:write").build();
|
||||
|
@ -62,6 +68,19 @@ public class JwtGrantedAuthoritiesConverterTests {
|
|||
new SimpleGrantedAuthority("ROLE_message:write"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertWithBlankAsCustomAuthorityPrefixWhenTokenHasScopeAttributeThenTranslatedToAuthorities() {
|
||||
Jwt jwt = jwt().claim("scope", "message:read message:write").build();
|
||||
|
||||
JwtGrantedAuthoritiesConverter jwtGrantedAuthoritiesConverter = new JwtGrantedAuthoritiesConverter();
|
||||
jwtGrantedAuthoritiesConverter.setAuthorityPrefix("");
|
||||
Collection<GrantedAuthority> authorities = jwtGrantedAuthoritiesConverter.convert(jwt);
|
||||
|
||||
assertThat(authorities).containsExactly(
|
||||
new SimpleGrantedAuthority("message:read"),
|
||||
new SimpleGrantedAuthority("message:write"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertWhenTokenHasEmptyScopeAttributeThenTranslatedToNoAuthorities() {
|
||||
Jwt jwt = jwt().claim("scope", "").build();
|
||||
|
@ -97,6 +116,19 @@ public class JwtGrantedAuthoritiesConverterTests {
|
|||
new SimpleGrantedAuthority("ROLE_message:write"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertWithBlankAsCustomAuthorityPrefixWhenTokenHasScpAttributeThenTranslatedToAuthorities() {
|
||||
Jwt jwt = jwt().claim("scp", "message:read message:write").build();
|
||||
|
||||
JwtGrantedAuthoritiesConverter jwtGrantedAuthoritiesConverter = new JwtGrantedAuthoritiesConverter();
|
||||
jwtGrantedAuthoritiesConverter.setAuthorityPrefix("");
|
||||
Collection<GrantedAuthority> authorities = jwtGrantedAuthoritiesConverter.convert(jwt);
|
||||
|
||||
assertThat(authorities).containsExactly(
|
||||
new SimpleGrantedAuthority("message:read"),
|
||||
new SimpleGrantedAuthority("message:write"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertWhenTokenHasEmptyScpAttributeThenTranslatedToNoAuthorities() {
|
||||
Jwt jwt = jwt().claim("scp", Collections.emptyList()).build();
|
||||
|
|
Loading…
Reference in New Issue