Эффективный и безопасный метод для заполнения токена доступа для заголовка авторизации в шаблоне отдыха - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь использовать конечную точку REST с помощью библиотеки RestTemplate, предоставляемой платформой Spring. Конечная точка также требует маркер доступа канала-носителя в качестве заголовка авторизации, который получается только как ответ от конечной точки аутентификации пользователя, которая, в свою очередь, ожидает закодированную базовую аутентификацию в своем заголовке.

Это реализация высокого уровня, которую я проделал до сих пор.

HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setBearerAuth(fetchAccessToken());
    HttpEntity<String> entity = new HttpEntity<String>("parameters",headers);
    ResponseEntity<?> result = this.restClient.exchange(urlToConsume, HttpMethod.GET, entity, String.class);

Метод fetchAccessToken реализован следующим образом

HttpHeaders headers = new HttpHeaders();
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    headers.setBasicAuth(externalDestination.getClientId(),
            externalDestination.getClientSecret());
    HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);

    ResponseEntity<?> result = restClient.exchange(authUrl, HttpMethod.GET, entity, String.class);
    //And Thereby fetching 'access_token' from the successful fetch.

Я хочу знать, есть ли какой-нибудь более чистый способ повторить вышеупомянутую задачу, связанную с несколькими вызовами Rest для выполнения одной задачи. Кроме того, я хочу знать, пропускаю ли я какие-либо важные проверки с точки зрения безопасности.

...