Я использую jhipster UAA и Gatewy App на своем сервере, работающем в EC2.
(https://www.jhipster.tech/images/microservices_architecture_detail.002.png)
У меня есть приложение, работающее с внешним облаком для размещения данных на этом сервере, оно использует конечную точку REST для выполнения запроса.
Мне нужно включить защиту в этой конечной точке, затем использовать токен доступа или секрет клиента.
Я включил защиту и скопировал свой секретный токен приложением FrontEnd. Мой первый запрос работает, но второй запрос не работает.
Мой OAuth2RestTemplate.
@Bean
public OAuth2RestTemplate redditRestTemplate(OAuth2ProtectedResourceDetails resourceDetails, OAuth2ClientContext clientContext) {
clientContext.setAccessToken(new DefaultOAuth2AccessToken(applicationProperties.getAccessToken()));
OAuth2RestTemplate template = new OAuth2RestTemplate(resourceDetails, clientContext);
AccessTokenProvider accessTokenProvider = new AccessTokenProviderChain(
Arrays.<AccessTokenProvider>asList(
new ImplicitAccessTokenProvider(),
new ResourceOwnerPasswordAccessTokenProvider(),
new ClientCredentialsAccessTokenProvider())
);
template.setAccessTokenProvider(accessTokenProvider);
return template;
}
Мой запрос.
OAuth2RestTemplate b = a.getBean(OAuth2RestTemplate.class);
String c = b.getForEntity("https://cloud.com/api/app/v1/events", String.class).getBody();
Первый запрос ОК.
Мне нужно сохранить новый accessToken?
Есть ли способ сделать эту интеграцию, используя "секрет клиента" или что-то еще?