This is an automated email from the ASF dual-hosted git repository.
mthomsen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 64f9b66141 NIFI-9984 Allow 200-series responses in OAuth2 Access Token
Provider
64f9b66141 is described below
commit 64f9b66141f89439923250bf2c263d5af022badb
Author: exceptionfactory
AuthorDate: Wed May 4 11:13:57 2022 -0500
NIFI-9984 Allow 200-series responses in OAuth2 Access Token Provider
This closes #6016
Signed-off-by: Mike Thomsen
---
.../nifi/oauth2/StandardOauth2AccessTokenProvider.java | 17 -
.../oauth2/StandardOauth2AccessTokenProviderTest.java | 15 +--
2 files changed, 17 insertions(+), 15 deletions(-)
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/main/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProvider.java
b/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/main/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProvider.java
index c09ecc9e96..af3a96dd68 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/main/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProvider.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/main/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProvider.java
@@ -315,19 +315,18 @@ public class StandardOauth2AccessTokenProvider extends
AbstractControllerService
this.accessDetails = getAccessDetails(refreshRequest);
}
-private AccessToken getAccessDetails(Request newRequest) {
+private AccessToken getAccessDetails(final Request newRequest) {
try {
-Response response = httpClient.newCall(newRequest).execute();
-String responseBody = response.body().string();
-if (response.code() != 200) {
+final Response response = httpClient.newCall(newRequest).execute();
+final String responseBody = response.body().string();
+if (response.isSuccessful()) {
+getLogger().debug("OAuth2 Access Token retrieved [HTTP {}]",
response.code());
+return ACCESS_DETAILS_MAPPER.readValue(responseBody,
AccessToken.class);
+} else {
getLogger().error(String.format("OAuth2 access token request
failed [HTTP %d], response:%n%s", response.code(), responseBody));
throw new ProcessException(String.format("OAuth2 access token
request failed [HTTP %d]", response.code()));
}
-
-AccessToken accessDetails =
ACCESS_DETAILS_MAPPER.readValue(responseBody, AccessToken.class);
-
-return accessDetails;
-} catch (IOException e) {
+} catch (final IOException e) {
throw new UncheckedIOException("OAuth2 access token request
failed", e);
}
}
diff --git
a/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/test/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProviderTest.java
b/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/test/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProviderTest.java
index cbc485aaf6..20054bcad3 100644
---
a/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/test/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProviderTest.java
+++
b/nifi-nar-bundles/nifi-standard-services/nifi-oauth2-provider-bundle/nifi-oauth2-provider-service/src/test/java/org/apache/nifi/oauth2/StandardOauth2AccessTokenProviderTest.java
@@ -64,6 +64,9 @@ public class StandardOauth2AccessTokenProviderTest {
private static final String CLIENT_SECRET = "clientSecret";
private static final long FIVE_MINUTES = 300;
+private static final int HTTP_OK = 200;
+private static final int HTTP_ACCEPTED = 201;
+
private StandardOauth2AccessTokenProvider testSubject;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -146,7 +149,7 @@ public class StandardOauth2AccessTokenProviderTest {
// GIVEN
Response response = buildResponse(
-200,
+HTTP_OK,
"{ \"access_token\":\"" + accessTokenValue + "\" }"
);
@@ -166,12 +169,12 @@ public class StandardOauth2AccessTokenProviderTest {
String expectedToken = "second_token";
Response response1 = buildResponse(
-200,
+HTTP_OK,
"{ \"access_token\":\"" + firstToken + "\", \"expires_in\":\"0\",
\"refresh_token\":\"not_checking_in_this_test\" }"
);
Response response2 = buildResponse(
-200,
+HTTP_OK,