189 RestTemplate restTemplate =
new RestTemplate(
httpFactory);
193 if (knownClient == null) {
196 JsonObject jsonRequest = ClientDetailsEntityJsonProcessor.serialize(
template);
197 String serializedClient =
gson.toJson(jsonRequest);
199 HttpHeaders headers =
new HttpHeaders();
200 headers.setContentType(MediaType.APPLICATION_JSON);
201 headers.setAccept(Lists.newArrayList(MediaType.APPLICATION_JSON));
203 HttpEntity<String> entity =
new HttpEntity<>(serializedClient, headers);
206 String registered = restTemplate.postForObject(serverConfig.getRegistrationEndpointUri(), entity, String.class);
208 RegisteredClient client = ClientDetailsEntityJsonProcessor.parseRegistered(registered);
214 }
catch (RestClientException rce) {
215 throw new InvalidClientException(
"Error registering client with server");
219 if (knownClient.getClientId() == null) {
222 HttpHeaders headers =
new HttpHeaders();
223 headers.set(
"Authorization", String.format(
"%s %s", OAuth2AccessToken.BEARER_TYPE, knownClient.getRegistrationAccessToken()));
224 headers.setAccept(Lists.newArrayList(MediaType.APPLICATION_JSON));
226 HttpEntity<String> entity =
new HttpEntity<>(headers);
229 String registered = restTemplate.exchange(knownClient.getRegistrationClientUri(), HttpMethod.GET, entity, String.class).getBody();
232 RegisteredClient client = ClientDetailsEntityJsonProcessor.parseRegistered(registered);
235 }
catch (RestClientException rce) {
236 throw new InvalidClientException(
"Error loading previously registered client information from server");
RegisteredClient getByIssuer(String issuer)
void save(String issuer, RegisteredClient client)
Gson gson
Definition: DynamicRegistrationClientConfigurationService.java:177
HttpComponentsClientHttpRequestFactory httpFactory
Definition: DynamicRegistrationClientConfigurationService.java:176
RegisteredClientService registeredClientService
Definition: DynamicRegistrationClientConfigurationService.java:68