Jhipster UAA Внешний клиент - PullRequest
0 голосов
/ 29 мая 2019

Я использую 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?

Есть ли способ сделать эту интеграцию, используя "секрет клиента" или что-то еще?

1 Ответ

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

После выполнения запроса аутентификации /auth/login необходимо сохранить accessToken, полученный в ответе. Последующие запросы должны содержать этот токен доступа в заголовке Authorization: Bearer <accessToken>

...