Skip to content

Commit 29016ef

Browse files
committed
Fix authorization server smoke test
Change from spring-projects/spring-authorization-server#1468 See gh-38678
1 parent 13fb450 commit 29016ef

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

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

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@
3939
import org.springframework.security.oauth2.core.endpoint.OAuth2ParameterNames;
4040
import org.springframework.security.oauth2.server.authorization.OAuth2AuthorizationServerMetadata;
4141
import org.springframework.security.oauth2.server.authorization.oidc.OidcProviderConfiguration;
42-
import org.springframework.web.util.UriComponentsBuilder;
42+
import org.springframework.util.LinkedMultiValueMap;
43+
import org.springframework.util.MultiValueMap;
4344

4445
import static org.assertj.core.api.Assertions.assertThat;
4546

@@ -103,13 +104,13 @@ void anonymousShouldRedirectToLogin() {
103104
void validTokenRequestShouldReturnTokenResponse() {
104105
HttpHeaders headers = new HttpHeaders();
105106
headers.setBasicAuth("messaging-client", "secret");
106-
HttpEntity<Object> request = new HttpEntity<>(headers);
107-
String requestUri = UriComponentsBuilder.fromUriString("/token")
108-
.queryParam(OAuth2ParameterNames.CLIENT_ID, "messaging-client")
109-
.queryParam(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue())
110-
.queryParam(OAuth2ParameterNames.SCOPE, "message.read+message.write")
111-
.toUriString();
112-
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange(requestUri, HttpMethod.POST, request,
107+
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
108+
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
109+
body.add(OAuth2ParameterNames.CLIENT_ID, "messaging-client");
110+
body.add(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue());
111+
body.add(OAuth2ParameterNames.SCOPE, "message.read message.write");
112+
HttpEntity<Object> request = new HttpEntity<>(body, headers);
113+
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange("/token", HttpMethod.POST, request,
113114
MAP_TYPE_REFERENCE);
114115
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.OK);
115116
Map<String, Object> tokenResponse = Objects.requireNonNull(entity.getBody());
@@ -123,43 +124,43 @@ void validTokenRequestShouldReturnTokenResponse() {
123124
@Test
124125
void anonymousTokenRequestShouldReturnUnauthorized() {
125126
HttpHeaders headers = new HttpHeaders();
126-
HttpEntity<Object> request = new HttpEntity<>(headers);
127-
String requestUri = UriComponentsBuilder.fromUriString("/token")
128-
.queryParam(OAuth2ParameterNames.CLIENT_ID, "messaging-client")
129-
.queryParam(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue())
130-
.queryParam(OAuth2ParameterNames.SCOPE, "message.read+message.write")
131-
.toUriString();
132-
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange(requestUri, HttpMethod.POST, request,
127+
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
128+
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
129+
body.add(OAuth2ParameterNames.CLIENT_ID, "messaging-client");
130+
body.add(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue());
131+
body.add(OAuth2ParameterNames.SCOPE, "message.read message.write");
132+
HttpEntity<Object> request = new HttpEntity<>(body, headers);
133+
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange("/token", HttpMethod.POST, request,
133134
MAP_TYPE_REFERENCE);
134135
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.UNAUTHORIZED);
135136
}
136137

137138
@Test
138139
void anonymousTokenRequestWithAcceptHeaderAllShouldReturnUnauthorized() {
139140
HttpHeaders headers = new HttpHeaders();
141+
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
140142
headers.setAccept(List.of(MediaType.ALL));
141-
HttpEntity<Object> request = new HttpEntity<>(headers);
142-
String requestUri = UriComponentsBuilder.fromUriString("/token")
143-
.queryParam(OAuth2ParameterNames.CLIENT_ID, "messaging-client")
144-
.queryParam(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue())
145-
.queryParam(OAuth2ParameterNames.SCOPE, "message.read+message.write")
146-
.toUriString();
147-
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange(requestUri, HttpMethod.POST, request,
143+
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
144+
body.add(OAuth2ParameterNames.CLIENT_ID, "messaging-client");
145+
body.add(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue());
146+
body.add(OAuth2ParameterNames.SCOPE, "message.read message.write");
147+
HttpEntity<Object> request = new HttpEntity<>(body, headers);
148+
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange("/token", HttpMethod.POST, request,
148149
MAP_TYPE_REFERENCE);
149150
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.UNAUTHORIZED);
150151
}
151152

152153
@Test
153154
void anonymousTokenRequestWithAcceptHeaderTextHtmlShouldRedirectToLogin() {
154155
HttpHeaders headers = new HttpHeaders();
156+
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
155157
headers.setAccept(List.of(MediaType.TEXT_HTML));
156-
HttpEntity<Object> request = new HttpEntity<>(headers);
157-
String requestUri = UriComponentsBuilder.fromUriString("/token")
158-
.queryParam(OAuth2ParameterNames.CLIENT_ID, "messaging-client")
159-
.queryParam(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue())
160-
.queryParam(OAuth2ParameterNames.SCOPE, "message.read+message.write")
161-
.toUriString();
162-
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange(requestUri, HttpMethod.POST, request,
158+
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
159+
body.add(OAuth2ParameterNames.CLIENT_ID, "messaging-client");
160+
body.add(OAuth2ParameterNames.GRANT_TYPE, AuthorizationGrantType.CLIENT_CREDENTIALS.getValue());
161+
body.add(OAuth2ParameterNames.SCOPE, "message.read message.write");
162+
HttpEntity<Object> request = new HttpEntity<>(body, headers);
163+
ResponseEntity<Map<String, Object>> entity = this.restTemplate.exchange("/token", HttpMethod.POST, request,
163164
MAP_TYPE_REFERENCE);
164165
assertThat(entity.getStatusCode()).isEqualTo(HttpStatus.FOUND);
165166
assertThat(entity.getHeaders().getLocation()).isEqualTo(URI.create("http://localhost:" + this.port + "/login"));

0 commit comments

Comments
 (0)