Skip to content

Commit 5840e25

Browse files
committed
Polish OAuth2TokenIntrospectionClient
Placed URI.create in constructor so that the code doesn't do that processing on each request. Also moved the construction helper methods up by the constructor for added readability. Issue: gh-6798
1 parent 0bc60dc commit 5840e25

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

oauth2/oauth2-resource-server/src/main/java/org/springframework/security/oauth2/server/resource/introspection/NimbusOAuth2TokenIntrospectionClient.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public NimbusOAuth2TokenIntrospectionClient(String introspectionUri, String clie
7474
Assert.notNull(clientId, "clientId cannot be null");
7575
Assert.notNull(clientSecret, "clientSecret cannot be null");
7676

77-
this.requestEntityConverter = this.defaultRequestEntityConverter(introspectionUri);
77+
this.requestEntityConverter = this.defaultRequestEntityConverter(URI.create(introspectionUri));
7878
RestTemplate restTemplate = new RestTemplate();
7979
restTemplate.getInterceptors().add(new BasicAuthenticationInterceptor(clientId, clientSecret));
8080
this.restOperations = restTemplate;
@@ -93,10 +93,30 @@ public NimbusOAuth2TokenIntrospectionClient(String introspectionUri, RestOperati
9393
Assert.notNull(introspectionUri, "introspectionUri cannot be null");
9494
Assert.notNull(restOperations, "restOperations cannot be null");
9595

96-
this.requestEntityConverter = this.defaultRequestEntityConverter(introspectionUri);
96+
this.requestEntityConverter = this.defaultRequestEntityConverter(URI.create(introspectionUri));
9797
this.restOperations = restOperations;
9898
}
9999

100+
private Converter<String, RequestEntity<?>> defaultRequestEntityConverter(URI introspectionUri) {
101+
return token -> {
102+
HttpHeaders headers = requestHeaders();
103+
MultiValueMap<String, String> body = requestBody(token);
104+
return new RequestEntity<>(body, headers, HttpMethod.POST, introspectionUri);
105+
};
106+
}
107+
108+
private HttpHeaders requestHeaders() {
109+
HttpHeaders headers = new HttpHeaders();
110+
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));
111+
return headers;
112+
}
113+
114+
private MultiValueMap<String, String> requestBody(String token) {
115+
MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
116+
body.add("token", token);
117+
return body;
118+
}
119+
100120
/**
101121
* {@inheritDoc}
102122
*/
@@ -127,26 +147,6 @@ public void setRequestEntityConverter(Converter<String, RequestEntity<?>> reques
127147
this.requestEntityConverter = requestEntityConverter;
128148
}
129149

130-
private Converter<String, RequestEntity<?>> defaultRequestEntityConverter(String introspectionUri) {
131-
return token -> {
132-
HttpHeaders headers = requestHeaders();
133-
MultiValueMap<String, String> body = requestBody(token);
134-
return new RequestEntity<>(body, headers, HttpMethod.POST, URI.create(introspectionUri));
135-
};
136-
}
137-
138-
private HttpHeaders requestHeaders() {
139-
HttpHeaders headers = new HttpHeaders();
140-
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON_UTF8));
141-
return headers;
142-
}
143-
144-
private MultiValueMap<String, String> requestBody(String token) {
145-
MultiValueMap<String, String> body = new LinkedMultiValueMap<>();
146-
body.add("token", token);
147-
return body;
148-
}
149-
150150
private ResponseEntity<String> makeRequest(RequestEntity<?> requestEntity) {
151151
try {
152152
return this.restOperations.exchange(requestEntity, String.class);

0 commit comments

Comments
 (0)