Skip to content

Commit b7bca87

Browse files
committed
Merge pull request #16320 from Spring Operator
* gh-16320: Polish "Use HTTPS for external links wherever possible" Use HTTPS for external links wherever possible Closes gh-16320
2 parents 864942a + 5a3474c commit b7bca87

File tree

13 files changed

+52
-50
lines changed

13 files changed

+52
-50
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/WebClientMetricsConfigurationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private MeterRegistry getInitializedMeterRegistry(
108108
WebClient webClient = mockWebClient(context.getBean(WebClient.Builder.class));
109109
MeterRegistry registry = context.getBean(MeterRegistry.class);
110110
for (int i = 0; i < 3; i++) {
111-
webClient.get().uri("http://example.org/projects/" + i).exchange()
111+
webClient.get().uri("https://example.org/projects/" + i).exchange()
112112
.block(Duration.ofSeconds(30));
113113
}
114114
return registry;
@@ -117,7 +117,7 @@ private MeterRegistry getInitializedMeterRegistry(
117117
private void validateWebClient(WebClient.Builder builder, MeterRegistry registry) {
118118
WebClient webClient = mockWebClient(builder);
119119
assertThat(registry.find("http.client.requests").meter()).isNull();
120-
webClient.get().uri("http://example.org/projects/{project}", "spring-boot")
120+
webClient.get().uri("https://example.org/projects/{project}", "spring-boot")
121121
.exchange().block(Duration.ofSeconds(30));
122122
assertThat(registry.find("http.client.requests")
123123
.tags("uri", "/projects/{project}").meter()).isNotNull();

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/DefaultWebClientExchangeTagsProviderTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ public class DefaultWebClientExchangeTagsProviderTests {
5353
public void setup() {
5454
this.request = ClientRequest
5555
.create(HttpMethod.GET,
56-
URI.create("http://example.org/projects/spring-boot"))
56+
URI.create("https://example.org/projects/spring-boot"))
5757
.attribute(URI_TEMPLATE_ATTRIBUTE,
58-
"http://example.org/projects/{project}")
58+
"https://example.org/projects/{project}")
5959
.build();
6060
this.response = mock(ClientResponse.class);
6161
given(this.response.statusCode()).willReturn(HttpStatus.OK);
@@ -72,7 +72,7 @@ public void tagsShouldBePopulated() {
7272
@Test
7373
public void tagsWhenNoUriTemplateShouldProvideUriPath() {
7474
ClientRequest request = ClientRequest.create(HttpMethod.GET,
75-
URI.create("http://example.org/projects/spring-boot")).build();
75+
URI.create("https://example.org/projects/spring-boot")).build();
7676
Iterable<Tag> tags = this.tagsProvider.tags(request, this.response, null);
7777
assertThat(tags).containsExactlyInAnyOrder(Tag.of("method", "GET"),
7878
Tag.of("uri", "/projects/spring-boot"),

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/MetricsWebClientFilterFunctionTests.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void setup() {
7171
@Test
7272
public void filterShouldRecordTimer() {
7373
ClientRequest request = ClientRequest.create(HttpMethod.GET,
74-
URI.create("http://example.com/projects/spring-boot")).build();
74+
URI.create("https://example.com/projects/spring-boot")).build();
7575
given(this.response.statusCode()).willReturn(HttpStatus.OK);
7676
this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30));
7777
assertThat(this.registry.get("http.client.requests")
@@ -83,7 +83,7 @@ public void filterShouldRecordTimer() {
8383
public void filterWhenUriTemplatePresentShouldRecordTimer() {
8484
ClientRequest request = ClientRequest
8585
.create(HttpMethod.GET,
86-
URI.create("http://example.com/projects/spring-boot"))
86+
URI.create("https://example.com/projects/spring-boot"))
8787
.attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build();
8888
given(this.response.statusCode()).willReturn(HttpStatus.OK);
8989
this.filterFunction.filter(request, this.exchange).block(Duration.ofSeconds(30));
@@ -95,7 +95,7 @@ public void filterWhenUriTemplatePresentShouldRecordTimer() {
9595
@Test
9696
public void filterWhenIoExceptionThrownShouldRecordTimer() {
9797
ClientRequest request = ClientRequest.create(HttpMethod.GET,
98-
URI.create("http://example.com/projects/spring-boot")).build();
98+
URI.create("https://example.com/projects/spring-boot")).build();
9999
ExchangeFunction errorExchange = (r) -> Mono.error(new IOException());
100100
this.filterFunction.filter(request, errorExchange)
101101
.onErrorResume(IOException.class, (t) -> Mono.empty())
@@ -110,7 +110,7 @@ public void filterWhenIoExceptionThrownShouldRecordTimer() {
110110
@Test
111111
public void filterWhenExceptionThrownShouldRecordTimer() {
112112
ClientRequest request = ClientRequest.create(HttpMethod.GET,
113-
URI.create("http://example.com/projects/spring-boot")).build();
113+
URI.create("https://example.com/projects/spring-boot")).build();
114114
ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException());
115115
this.filterFunction.filter(request, exchange)
116116
.onErrorResume(IllegalArgumentException.class, (t) -> Mono.empty())
@@ -124,7 +124,7 @@ public void filterWhenExceptionThrownShouldRecordTimer() {
124124
@Test
125125
public void filterWhenExceptionAndRetryShouldNotCumulateRecordTime() {
126126
ClientRequest request = ClientRequest.create(HttpMethod.GET,
127-
URI.create("http://example.com/projects/spring-boot")).build();
127+
URI.create("https://example.com/projects/spring-boot")).build();
128128
ExchangeFunction exchange = (r) -> Mono.error(new IllegalArgumentException())
129129
.delaySubscription(Duration.ofMillis(300)).cast(ClientResponse.class);
130130
this.filterFunction.filter(request, exchange).retry(1)

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/WebClientExchangeTagsTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ public class WebClientExchangeTagsTests {
5151
public void setup() {
5252
this.request = ClientRequest
5353
.create(HttpMethod.GET,
54-
URI.create("http://example.org/projects/spring-boot"))
54+
URI.create("https://example.org/projects/spring-boot"))
5555
.attribute(URI_TEMPLATE_ATTRIBUTE,
56-
"http://example.org/projects/{project}")
56+
"https://example.org/projects/{project}")
5757
.build();
5858
this.response = mock(ClientResponse.class);
5959
given(this.response.statusCode()).willReturn(HttpStatus.OK);
@@ -75,7 +75,7 @@ public void uriWhenAbsoluteTemplateIsAvailableShouldReturnTemplate() {
7575
public void uriWhenRelativeTemplateIsAvailableShouldReturnTemplate() {
7676
this.request = ClientRequest
7777
.create(HttpMethod.GET,
78-
URI.create("http://example.org/projects/spring-boot"))
78+
URI.create("https://example.org/projects/spring-boot"))
7979
.attribute(URI_TEMPLATE_ATTRIBUTE, "/projects/{project}").build();
8080
assertThat(WebClientExchangeTags.uri(this.request))
8181
.isEqualTo(Tag.of("uri", "/projects/{project}"));
@@ -84,7 +84,7 @@ public void uriWhenRelativeTemplateIsAvailableShouldReturnTemplate() {
8484
@Test
8585
public void uriWhenTemplateIsMissingShouldReturnPath() {
8686
this.request = ClientRequest.create(HttpMethod.GET,
87-
URI.create("http://example.org/projects/spring-boot")).build();
87+
URI.create("https://example.org/projects/spring-boot")).build();
8888
assertThat(WebClientExchangeTags.uri(this.request))
8989
.isEqualTo(Tag.of("uri", "/projects/spring-boot"));
9090
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientPropertiesRegistrationAdapterTests.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -271,23 +271,23 @@ public void oidcProviderConfigurationWithCustomConfigurationOverridesProviderDef
271271
assertThat(adapted.getClientName()).isEqualTo(issuer);
272272
assertThat(adapted.getScopes()).containsOnly("user");
273273
assertThat(adapted.getRedirectUriTemplate())
274-
.isEqualTo("http://example.com/redirect");
274+
.isEqualTo("https://example.com/redirect");
275275
assertThat(providerDetails.getAuthorizationUri())
276-
.isEqualTo("http://example.com/auth");
277-
assertThat(providerDetails.getTokenUri()).isEqualTo("http://example.com/token");
278-
assertThat(providerDetails.getJwkSetUri()).isEqualTo("http://example.com/jwk");
276+
.isEqualTo("https://example.com/auth");
277+
assertThat(providerDetails.getTokenUri()).isEqualTo("https://example.com/token");
278+
assertThat(providerDetails.getJwkSetUri()).isEqualTo("https://example.com/jwk");
279279
UserInfoEndpoint userInfoEndpoint = providerDetails.getUserInfoEndpoint();
280-
assertThat(userInfoEndpoint.getUri()).isEqualTo("http://example.com/info");
280+
assertThat(userInfoEndpoint.getUri()).isEqualTo("https://example.com/info");
281281
assertThat(userInfoEndpoint.getUserNameAttributeName()).isEqualTo("sub");
282282
}
283283

284284
private Provider createProvider() {
285285
Provider provider = new Provider();
286-
provider.setAuthorizationUri("http://example.com/auth");
287-
provider.setTokenUri("http://example.com/token");
288-
provider.setUserInfoUri("http://example.com/info");
286+
provider.setAuthorizationUri("https://example.com/auth");
287+
provider.setTokenUri("https://example.com/token");
288+
provider.setUserInfoUri("https://example.com/info");
289289
provider.setUserNameAttribute("sub");
290-
provider.setJwkSetUri("http://example.com/jwk");
290+
provider.setJwkSetUri("https://example.com/jwk");
291291
return provider;
292292
}
293293

@@ -297,7 +297,7 @@ private OAuth2ClientProperties.Registration createRegistration(String provider)
297297
registration.setClientId("clientId");
298298
registration.setClientSecret("clientSecret");
299299
registration.setClientAuthenticationMethod("post");
300-
registration.setRedirectUri("http://example.com/redirect");
300+
registration.setRedirectUri("https://example.com/redirect");
301301
registration.setScope(Collections.singleton("user"));
302302
registration.setAuthorizationGrantType("authorization_code");
303303
return registration;

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/client/reactive/ReactiveOAuth2ClientAutoConfigurationTests.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ static class ReactiveClientRepositoryConfiguration {
168168
@Bean
169169
public ReactiveClientRegistrationRepository clientRegistrationRepository() {
170170
List<ClientRegistration> registrations = new ArrayList<>();
171-
registrations.add(getClientRegistration("first", "http://user-info-uri.com"));
171+
registrations
172+
.add(getClientRegistration("first", "https://user-info-uri.com"));
172173
registrations.add(getClientRegistration("second", "http://other-user-info"));
173174
return new InMemoryReactiveClientRegistrationRepository(registrations);
174175
}
@@ -180,9 +181,9 @@ private ClientRegistration getClientRegistration(String id, String userInfoUri)
180181
org.springframework.security.oauth2.core.ClientAuthenticationMethod.BASIC)
181182
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
182183
.scope("read").clientSecret("secret")
183-
.redirectUriTemplate("http://redirect-uri.com")
184-
.authorizationUri("http://authorization-uri.com")
185-
.tokenUri("http://token-uri.com").userInfoUri(userInfoUri)
184+
.redirectUriTemplate("https://redirect-uri.com")
185+
.authorizationUri("https://authorization-uri.com")
186+
.tokenUri("https://token-uri.com").userInfoUri(userInfoUri)
186187
.userNameAttributeName("login");
187188
return builder.build();
188189
}

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/reactive/ReactiveOAuth2ResourceServerAutoConfigurationTests.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void cleanup() throws Exception {
8080
@Test
8181
public void autoConfigurationShouldConfigureResourceServer() {
8282
this.contextRunner.withPropertyValues(
83-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
83+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
8484
.run((context) -> {
8585
assertThat(context.getBean(ReactiveJwtDecoder.class))
8686
.isInstanceOf(NimbusReactiveJwtDecoder.class);
@@ -110,8 +110,8 @@ public void autoConfigurationShouldConfigureResourceServerUsingOidcIssuerUri()
110110
@Test
111111
public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() {
112112
this.contextRunner.withPropertyValues(
113-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com",
114-
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com")
113+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com",
114+
"spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
115115
.run((context) -> {
116116
assertThat(context.getBean(ReactiveJwtDecoder.class))
117117
.isInstanceOf(NimbusReactiveJwtDecoder.class);
@@ -130,23 +130,23 @@ public void autoConfigurationWhenJwkSetUriNullShouldNotFail() {
130130
@Test
131131
public void jwtDecoderBeanIsConditionalOnMissingBean() {
132132
this.contextRunner.withPropertyValues(
133-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
133+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
134134
.withUserConfiguration(JwtDecoderConfig.class)
135135
.run((this::assertFilterConfiguredWithJwtAuthenticationManager));
136136
}
137137

138138
@Test
139139
public void jwtDecoderByIssuerUriBeanIsConditionalOnMissingBean() {
140140
this.contextRunner.withPropertyValues(
141-
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com")
141+
"spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
142142
.withUserConfiguration(JwtDecoderConfig.class)
143143
.run((this::assertFilterConfiguredWithJwtAuthenticationManager));
144144
}
145145

146146
@Test
147147
public void autoConfigurationShouldBeConditionalOnBearerTokenAuthenticationTokenClass() {
148148
this.contextRunner.withPropertyValues(
149-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
149+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
150150
.withUserConfiguration(JwtDecoderConfig.class)
151151
.withClassLoader(
152152
new FilteredClassLoader(BearerTokenAuthenticationToken.class))
@@ -157,7 +157,7 @@ public void autoConfigurationShouldBeConditionalOnBearerTokenAuthenticationToken
157157
@Test
158158
public void autoConfigurationShouldBeConditionalOnReactiveJwtDecoderClass() {
159159
this.contextRunner.withPropertyValues(
160-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
160+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
161161
.withUserConfiguration(JwtDecoderConfig.class)
162162
.withClassLoader(new FilteredClassLoader(ReactiveJwtDecoder.class))
163163
.run((context) -> assertThat(context)
@@ -167,7 +167,7 @@ public void autoConfigurationShouldBeConditionalOnReactiveJwtDecoderClass() {
167167
@Test
168168
public void autoConfigurationWhenSecurityWebFilterChainConfigPresentShouldNotAddOne() {
169169
this.contextRunner.withPropertyValues(
170-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
170+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
171171
.withUserConfiguration(SecurityWebFilterChainConfig.class)
172172
.run((context) -> {
173173
assertThat(context).hasSingleBean(SecurityWebFilterChain.class);

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/oauth2/resource/servlet/OAuth2ResourceServerAutoConfigurationTests.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void cleanup() throws Exception {
7575
@Test
7676
public void autoConfigurationShouldConfigureResourceServer() {
7777
this.contextRunner.withPropertyValues(
78-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
78+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
7979
.run((context) -> {
8080
assertThat(context.getBean(JwtDecoder.class))
8181
.isInstanceOf(NimbusJwtDecoderJwkSupport.class);
@@ -105,8 +105,8 @@ public void autoConfigurationShouldConfigureResourceServerUsingOidcIssuerUri()
105105
@Test
106106
public void autoConfigurationWhenBothSetUriAndIssuerUriPresentShouldUseSetUri() {
107107
this.contextRunner.withPropertyValues(
108-
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://issuer-uri.com",
109-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
108+
"spring.security.oauth2.resourceserver.jwt.issuer-uri=https://issuer-uri.com",
109+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
110110
.run((context) -> {
111111
assertThat(context.getBean(JwtDecoder.class))
112112
.isInstanceOf(NimbusJwtDecoderJwkSupport.class);
@@ -126,23 +126,23 @@ public void autoConfigurationWhenJwkSetUriNullShouldNotFail() {
126126
@Test
127127
public void jwtDecoderByJwkSetUriIsConditionalOnMissingBean() {
128128
this.contextRunner.withPropertyValues(
129-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
129+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
130130
.withUserConfiguration(JwtDecoderConfig.class)
131131
.run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull());
132132
}
133133

134134
@Test
135135
public void jwtDecoderByOidcIssuerUriIsConditionalOnMissingBean() {
136136
this.contextRunner.withPropertyValues(
137-
"spring.security.oauth2.resourceserver.jwt.issuer-uri=http://jwk-oidc-issuer-location.com")
137+
"spring.security.oauth2.resourceserver.jwt.issuer-uri=https://jwk-oidc-issuer-location.com")
138138
.withUserConfiguration(JwtDecoderConfig.class)
139139
.run((context) -> assertThat(getBearerTokenFilter(context)).isNotNull());
140140
}
141141

142142
@Test
143143
public void autoConfigurationShouldBeConditionalOnJwtAuthenticationTokenClass() {
144144
this.contextRunner.withPropertyValues(
145-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
145+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
146146
.withUserConfiguration(JwtDecoderConfig.class)
147147
.withClassLoader(new FilteredClassLoader(JwtAuthenticationToken.class))
148148
.run((context) -> assertThat(getBearerTokenFilter(context)).isNull());
@@ -151,7 +151,7 @@ public void autoConfigurationShouldBeConditionalOnJwtAuthenticationTokenClass()
151151
@Test
152152
public void autoConfigurationShouldBeConditionalOnJwtDecoderClass() {
153153
this.contextRunner.withPropertyValues(
154-
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=http://jwk-set-uri.com")
154+
"spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://jwk-set-uri.com")
155155
.withUserConfiguration(JwtDecoderConfig.class)
156156
.withClassLoader(new FilteredClassLoader(JwtDecoder.class))
157157
.run((context) -> assertThat(getBearerTokenFilter(context)).isNull());

spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,7 @@ additional dependency.
768768
Spring Boot manages the version for the
769769
`io.netty:netty-tcnative-boringssl-static` "uber jar", containing native libraries for
770770
all platforms. Developers can choose to import only the required dependencies using
771-
a classifier (see http://netty.io/wiki/forked-tomcat-native.html[the Netty official
771+
a classifier (see https://netty.io/wiki/forked-tomcat-native.html[the Netty official
772772
documentation]).
773773

774774

spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1514,7 +1514,7 @@ using the following property:
15141514

15151515
[source,properties,indent=0]
15161516
----
1517-
management.metrics.export.elastic.host=http://elastic.example.com:8086
1517+
management.metrics.export.elastic.host=https://elastic.example.com:8086
15181518
----
15191519

15201520

@@ -1636,7 +1636,7 @@ server] to use can be provided using:
16361636

16371637
[source,properties,indent=0]
16381638
----
1639-
management.metrics.export.kairos.uri=http://kairosdb.example.com:8080/api/v1/datapoints
1639+
management.metrics.export.kairos.uri=https://kairosdb.example.com:8080/api/v1/datapoints
16401640
----
16411641

16421642

0 commit comments

Comments
 (0)