Как использовать OAuth2RestTemplate, имеющий только tokenValue? - PullRequest
1 голос
/ 09 мая 2019

Приложение запускается, когда другое приложение вызывает начальную конечную точку с токеном доступа в качестве параметра.Маркер доступа является типом строки.

Затем я должен вызвать несколько других конечных точек, где аутентификация основана на этом токене.

Можно ли создать OAuth2RestTemplate для выполнения запросов, имеющих только tokenValue без uh токена доступа?

1 Ответ

0 голосов
/ 09 мая 2019

Насколько я знаю, вы можете добиться этого, внедрив интерфейс AccessTokenProvider и установив его:

https://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/client/token/AccessTokenProvider.html

Хотя OAuth2RestTemplate предназначен именно для того, чтобы упростить для вас использование такого рода потоков. Если ваше использование будет прямым, возможно, вам лучше использовать значение по умолчанию RestTemplate и использовать спецификацию HTTP. Итак, для этого вы должны использовать заголовок Authorization типа Bearer. Как это:

HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer " + tokenValue);

И используйте этот заголовок в своих запросах, например так:

HttpEntity<String> request = new HttpEntity<String>(headers);
ResponseEntity<BodyClass> response = restTemplate.exchange(url, HttpMethod.GET, request, BodyClass.class);
BodyClass body = response.getBody();

Надеюсь, это поможет.

...