Есть ли способ использовать java.net.http.HttpClient с Oauth2? - PullRequest
0 голосов
/ 10 июня 2019

Здравствуйте, я переключился с RestTemplate на HttpClient с Java 11. Я хочу также переключиться с OAuth2RestTemplate на HttpClient с Java 11.

Я не могу найти никаких материалов об использовании HttpClient с OAuth2.Это возможно простым способом?

И это хорошая идея?Или я должен использовать WebClient от весны?

1 Ответ

0 голосов
/ 10 июня 2019

Я только что опубликовал сообщение, используя HttpClient, чтобы получить OAuthToken, а затем добавил токен в заголовки следующих запросов.

String tokenRequest =
        "client_id="
            + lmGatewayCorrectClientId
            + "&client_secret="
            + lmGatewayCorrectClientSecret
            + "&grant_type="
            + lmGatewayCorrectGrantType;

    HttpClient oAuth2Client = HttpClient.newBuilder().build();
    HttpRequest oAuth2Request =
        HttpRequest.newBuilder()
            .header(CONTENT_TYPE, APPLICATION_FORM_URLENCODED_VALUE)
            .uri(URI.create(lmGatewayCorrectAccessTokenUri))
            .POST(HttpRequest.BodyPublishers.ofString(tokenRequest))
            .build();

    HttpResponse<String> oAuth2Response = null;

    try {
      oAuth2Response = oAuth2Client.send(oAuth2Request, HttpResponse.BodyHandlers.ofString());
    } catch (Exception e) {
      logger.error(e.getMessage(), e);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...