Skip to content

Commit 713e70e

Browse files
committed
Start building against Spring Security 7.1.0-RC1 snapshots
1 parent e8fe916 commit 713e70e

7 files changed

Lines changed: 26 additions & 8 deletions

File tree

module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/OAuth2ClientPropertiesMapperTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ private void testIssuerConfiguration(OAuth2ClientProperties.Registration registr
315315
assertThat(adapted.getAuthorizationGrantType()).isEqualTo(AuthorizationGrantType.AUTHORIZATION_CODE);
316316
assertThat(adapted.getRegistrationId()).isEqualTo("okta");
317317
assertThat(adapted.getClientName()).isEqualTo(issuer);
318-
assertThat(adapted.getScopes()).isNull();
318+
assertThat(adapted.getScopes()).isEmpty();
319319
assertThat(providerDetails.getAuthorizationUri()).isEqualTo("https://example.com/o/oauth2/v2/auth");
320320
assertThat(providerDetails.getTokenUri()).isEqualTo("https://example.com/oauth2/v4/token");
321321
assertThat(providerDetails.getJwkSetUri()).isEqualTo("https://example.com/oauth2/v3/certs");

module/spring-boot-security-oauth2-client/src/test/java/org/springframework/boot/security/oauth2/client/autoconfigure/servlet/OAuth2ClientWebSecurityAutoConfigurationTests.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.List;
2121

2222
import jakarta.servlet.Filter;
23+
import org.jspecify.annotations.Nullable;
2324
import org.junit.jupiter.api.Test;
2425

2526
import org.springframework.boot.autoconfigure.AutoConfigurations;
@@ -165,7 +166,9 @@ private FilterChainProxy getFilterChainProxy(Filter filter) {
165166
throw new IllegalStateException("No FilterChainProxy found");
166167
}
167168

168-
private boolean isEqual(ClientRegistration reg1, ClientRegistration reg2) {
169+
private boolean isEqual(@Nullable ClientRegistration reg1, @Nullable ClientRegistration reg2) {
170+
assertThat(reg1).isNotNull();
171+
assertThat(reg2).isNotNull();
169172
boolean result = ObjectUtils.nullSafeEquals(reg1.getClientId(), reg2.getClientId());
170173
result = result && ObjectUtils.nullSafeEquals(reg1.getClientName(), reg2.getClientName());
171174
result = result && ObjectUtils.nullSafeEquals(reg1.getClientSecret(), reg2.getClientSecret());

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/OpaqueTokenIntrospectionConfiguration.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,16 @@ SpringOpaqueTokenIntrospector opaqueTokenIntrospector(OAuth2ResourceServerProper
4545
Assert.state(token.getClientSecret() != null,
4646
"No 'spring.security.oauth2.resourceserver.opaquetoken.client-secret' property specified");
4747
SpringOpaqueTokenIntrospector.Builder builder = SpringOpaqueTokenIntrospector
48-
.withIntrospectionUri(token.getIntrospectionUri())
48+
.withIntrospectionUri(introspectionUri(token))
4949
.clientId(token.getClientId())
5050
.clientSecret(token.getClientSecret());
5151
customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
5252
return builder.build();
5353
}
5454

55+
@SuppressWarnings("NullAway") // never null due to @ConditionalOnProperty
56+
private String introspectionUri(OAuth2ResourceServerProperties.Opaquetoken token) {
57+
return token.getIntrospectionUri();
58+
}
59+
5560
}

module/spring-boot-security-oauth2-resource-server/src/main/java/org/springframework/boot/security/oauth2/server/resource/autoconfigure/reactive/ReactiveOpaqueTokenIntrospectionClientConfiguration.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,16 @@ SpringReactiveOpaqueTokenIntrospector reactiveOpaqueTokenIntrospector(OAuth2Reso
4646
Assert.state(token.getClientSecret() != null,
4747
"No 'spring.security.oauth2.resourceserver.opaquetoken.client-secret' property specified");
4848
SpringReactiveOpaqueTokenIntrospector.Builder builder = SpringReactiveOpaqueTokenIntrospector
49-
.withIntrospectionUri(token.getIntrospectionUri())
49+
.withIntrospectionUri(introspectionUri(token))
5050
.clientId(token.getClientId())
5151
.clientSecret(token.getClientSecret());
5252
customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
5353
return builder.build();
5454
}
5555

56+
@SuppressWarnings("NullAway") // never null due to @ConditionalOnProperty
57+
private String introspectionUri(OAuth2ResourceServerProperties.Opaquetoken token) {
58+
return token.getIntrospectionUri();
59+
}
60+
5661
}

platform/spring-boot-dependencies/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2701,7 +2701,7 @@ bom {
27012701
releaseNotes("https://github.com/spring-projects/spring-restdocs/releases/tag/v{version}")
27022702
}
27032703
}
2704-
library("Spring Security", "7.1.0-M3") {
2704+
library("Spring Security", "7.1.0-SNAPSHOT") {
27052705
considerSnapshots()
27062706
group("org.springframework.security") {
27072707
bom("spring-security-bom")

smoke-test/spring-boot-smoke-test-grpc-server-oauth/src/test/java/smoketest/grpcserveroauth/SampleGrpcServerOAuthApplicationTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import org.springframework.security.oauth2.jwt.NimbusJwtDecoder.JwkSetUriJwtDecoderBuilder;
5959
import org.springframework.security.oauth2.jwt.SupplierJwtDecoder;
6060
import org.springframework.test.annotation.DirtiesContext;
61+
import org.springframework.util.Assert;
6162
import org.springframework.util.function.SingletonSupplier;
6263

6364
import static org.assertj.core.api.Assertions.assertThat;
@@ -146,6 +147,7 @@ <B extends ManagedChannelBuilder<B>> GrpcChannelBuilderCustomizer<B> channelSecu
146147
private String token(ClientRegistrationRepository clientRegistrationRepository) {
147148
RestClientClientCredentialsTokenResponseClient client = new RestClientClientCredentialsTokenResponseClient();
148149
ClientRegistration registration = clientRegistrationRepository.findByRegistrationId("spring");
150+
Assert.notNull(registration, "Registration 'spring' not found");
149151
OAuth2ClientCredentialsGrantRequest request = new OAuth2ClientCredentialsGrantRequest(registration);
150152
return client.getTokenResponse(request).getAccessToken().getTokenValue();
151153
}

smoke-test/spring-boot-smoke-test-oauth2-authorization-server/src/test/java/smoketest/oauth2/server/SampleOAuth2AuthorizationServerApplicationTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ void openidConfigurationShouldAllowAccess() {
6464
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange("/.well-known/openid-configuration",
6565
HttpMethod.GET, null, MAP_TYPE_REFERENCE);
6666
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
67-
OidcProviderConfiguration config = OidcProviderConfiguration.withClaims(entity.getBody()).build();
67+
Map<String, Object> body = entity.getBody();
68+
assertThat(body).isNotNull();
69+
OidcProviderConfiguration config = OidcProviderConfiguration.withClaims(body).build();
6870
assertThat(config.getIssuer()).hasToString("https://provider.com");
6971
assertThat(config.getAuthorizationEndpoint()).hasToString("https://provider.com/authorize");
7072
assertThat(config.getTokenEndpoint()).hasToString("https://provider.com/token");
@@ -83,8 +85,9 @@ void authServerMetadataShouldAllowAccess() {
8385
ResponseEntity<Map<String, Object>> entity = this.restTemplate
8486
.exchange("/.well-known/oauth-authorization-server", HttpMethod.GET, null, MAP_TYPE_REFERENCE);
8587
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
86-
OAuth2AuthorizationServerMetadata config = OAuth2AuthorizationServerMetadata.withClaims(entity.getBody())
87-
.build();
88+
Map<String, Object> body = entity.getBody();
89+
assertThat(body).isNotNull();
90+
OAuth2AuthorizationServerMetadata config = OAuth2AuthorizationServerMetadata.withClaims(body).build();
8891
assertThat(config.getIssuer()).hasToString("https://provider.com");
8992
assertThat(config.getAuthorizationEndpoint()).hasToString("https://provider.com/authorize");
9093
assertThat(config.getTokenEndpoint()).hasToString("https://provider.com/token");

0 commit comments

Comments
 (0)