mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Merge branch '4.0.x' into 4.1.x
Closes gh-51630
This commit is contained in:
+5
@@ -147,6 +147,11 @@ class JwtConverterConfiguration {
|
||||
|
||||
}
|
||||
|
||||
@ConditionalOnProperty("spring.security.oauth2.resourceserver.jwt.authorities-claim-delimiter")
|
||||
static class OnAuthoritiesClaimDelimiter {
|
||||
|
||||
}
|
||||
|
||||
@Conditional(OnAuthoritiesExpressionsCondition.class)
|
||||
static class OnAuthoritiesExpressions {
|
||||
|
||||
|
||||
+5
@@ -153,6 +153,11 @@ class ReactiveJwtConverterConfiguration {
|
||||
|
||||
}
|
||||
|
||||
@ConditionalOnProperty("spring.security.oauth2.resourceserver.jwt.authorities-claim-delimiter")
|
||||
static class OnAuthoritiesClaimDelimiter {
|
||||
|
||||
}
|
||||
|
||||
@Conditional(OnAuthoritiesExpressionsCondition.class)
|
||||
static class OnAuthoritiesExpressions {
|
||||
|
||||
|
||||
+2
-2
@@ -53,7 +53,7 @@ public final class JwtConverterCustomizationsArgumentsProvider implements Argume
|
||||
String principalClaimProperty = "spring.security.oauth2.resourceserver.jwt.principal-claim-name="
|
||||
+ customPrincipalClaim;
|
||||
String[] customPrefixProps = { jwkSetUriProperty, authorityPrefixProperty };
|
||||
String[] customDelimiterProps = { jwkSetUriProperty, authorityPrefixProperty, authoritiesDelimiterProperty };
|
||||
String[] customDelimiterProps = { jwkSetUriProperty, authoritiesDelimiterProperty };
|
||||
String[] customAuthoritiesClaimProps = { jwkSetUriProperty, authoritiesClaimProperty };
|
||||
String[] customPrincipalClaimProps = { jwkSetUriProperty, principalClaimProperty };
|
||||
String[] allJwtConverterProps = { jwkSetUriProperty, authorityPrefixProperty, authoritiesDelimiterProperty,
|
||||
@@ -84,7 +84,7 @@ public final class JwtConverterCustomizationsArgumentsProvider implements Argume
|
||||
Arguments.of(Named.named("Custom prefix for GrantedAuthority", customPrefixProps),
|
||||
noAuthoritiesCustomizationsJwt, subjectValue, customPrefixAuthorities),
|
||||
Arguments.of(Named.named("Custom delimiter for JWT scopes", customDelimiterProps),
|
||||
customAuthoritiesDelimiterJwt, subjectValue, customPrefixAuthorities),
|
||||
customAuthoritiesDelimiterJwt, subjectValue, defaultPrefixAuthorities),
|
||||
Arguments.of(Named.named("Custom JWT authority claim name", customAuthoritiesClaimProps),
|
||||
customAuthoritiesClaimJwt, subjectValue, defaultPrefixAuthorities),
|
||||
Arguments.of(Named.named("Custom JWT principal claim name", customPrincipalClaimProps),
|
||||
|
||||
+7
@@ -783,6 +783,13 @@ class OAuth2ResourceServerAutoConfigurationTests {
|
||||
.isInstanceOf(MutuallyExclusiveConfigurationPropertiesException.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldConfigureJwtConverterIfAuthoritiesClaimDelimiterIsSet() {
|
||||
this.contextRunner
|
||||
.withPropertyValues("spring.security.oauth2.resourceserver.jwt.authorities-claim-delimiter=dummy")
|
||||
.run((context) -> assertThat(context).hasSingleBean(JwtAuthenticationConverter.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void jwtAuthenticationConverterByJwtConfigIsConditionalOnMissingBean() {
|
||||
String propertiesPrincipalClaim = "principal_from_properties";
|
||||
|
||||
+7
@@ -800,6 +800,13 @@ class ReactiveOAuth2ResourceServerAutoConfigurationTests {
|
||||
.isInstanceOf(MutuallyExclusiveConfigurationPropertiesException.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldConfigureJwtConverterIfAuthoritiesClaimDelimiterIsSet() {
|
||||
this.contextRunner
|
||||
.withPropertyValues("spring.security.oauth2.resourceserver.jwt.authorities-claim-delimiter=dummy")
|
||||
.run((context) -> assertThat(context).hasSingleBean(ReactiveJwtAuthenticationConverter.class));
|
||||
}
|
||||
|
||||
@ParameterizedTest(name = "{0}")
|
||||
@ArgumentsSource(JwtConverterCustomizationsArgumentsProvider.class)
|
||||
void autoConfigurationShouldConfigureResourceServerWithJwtConverterCustomizations(String[] properties, Jwt jwt,
|
||||
|
||||
Reference in New Issue
Block a user