Skip to content

Commit c2725f6

Browse files
committed
Updated isAuthenticated(…)
1 parent 4f5dc04 commit c2725f6

1 file changed

Lines changed: 26 additions & 31 deletions

File tree

plugins/backup/backroll/src/main/java/org/apache/cloudstack/backup/backroll/utils/BackrollHttpClientProvider.java

Lines changed: 26 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public class BackrollHttpClientProvider {
6262
private static final String AUTH_TEST = "/auth/cloudstack/test";
6363

6464
private URI apiURI;;
65-
private String backrollToken = null;
65+
private String token = null;
6666
private String appname = null;
6767
private String password = null;
6868
private RequestConfig config = null;
@@ -161,6 +161,25 @@ public String okBody(final CloseableHttpResponse response) throws NotOkBodyExcep
161161
}
162162
}
163163

164+
protected boolean isAuthenticated() throws BackrollApiException, IOException {
165+
if (StringUtils.isBlank(token)) {
166+
logger.debug("Token is blank “{}”.", token);
167+
return false;
168+
}
169+
170+
try (CloseableHttpClient httpClient = createHttpClient()) {
171+
final HttpGet request = new HttpGet(apiURI.toString() + AUTH_TEST);
172+
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
173+
CloseableHttpResponse httpResponse = httpClient.execute(request);
174+
okBody(httpResponse);
175+
logger.debug("Client is authenticated.");
176+
return true;
177+
} catch (NotOkBodyException exception) {
178+
logger.debug("Authentication test failed.");
179+
return false;
180+
}
181+
}
182+
164183
public <T> T post(final String path, final JSONObject json, Class<T> classOfT)
165184
throws BackrollApiException, IOException {
166185

@@ -182,7 +201,7 @@ public <T> T post(final String path, final JSONObject json, Class<T> classOfT)
182201
request.setEntity(params);
183202
}
184203

185-
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + backrollToken);
204+
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
186205
request.setHeader("Content-type", "application/json");
187206

188207
final CloseableHttpResponse response = httpClient.execute(request);
@@ -213,7 +232,7 @@ public <T> T get(String path, Class<T> classOfT) throws IOException, BackrollApi
213232
logger.debug("Backroll URL {}", url);
214233

215234
HttpGet request = new HttpGet(url);
216-
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + backrollToken);
235+
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
217236
request.setHeader("Content-type", "application/json");
218237
CloseableHttpResponse response = httpClient.execute(request);
219238
logger.debug("Response received in GET request is: {} for URL: {}.", response.toString(), url);
@@ -239,7 +258,7 @@ public String getWithoutParseResponse(String path) throws IOException, BackrollA
239258
logger.debug("Backroll URL {}", url);
240259

241260
HttpGet request = new HttpGet(url);
242-
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + backrollToken);
261+
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
243262
request.setHeader("Content-type", "application/json");
244263
CloseableHttpResponse response = httpClient.execute(request);
245264
logger.debug("Response received in GET request is: {} for URL: {}.", response.toString(), url);
@@ -262,7 +281,7 @@ public <T> T delete(String path, Class<T> classOfT) throws IOException, Backroll
262281

263282
String url = apiURI.toString() + path;
264283
final HttpDelete request = new HttpDelete(url);
265-
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + backrollToken);
284+
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + token);
266285
request.setHeader("Content-type", "application/json");
267286
final CloseableHttpResponse response = httpClient.execute(request);
268287
logger.debug("Response received in GET request is: {} for URL: {}.", response.toString(), url);
@@ -328,30 +347,6 @@ public String waitGetWithoutParseResponse(String url)
328347
return null;
329348
}
330349

331-
protected boolean isAuthenticated() throws BackrollApiException, IOException {
332-
boolean result = false;
333-
334-
if (StringUtils.isEmpty(backrollToken)) {
335-
logger.debug("Backroll Token empty : " + backrollToken);
336-
return result;
337-
}
338-
339-
try (CloseableHttpClient httpClient = createHttpClient()) {
340-
final HttpGet request = new HttpGet(apiURI.toString() + AUTH_TEST);
341-
request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + backrollToken);
342-
CloseableHttpResponse httpResponse = httpClient.execute(request);
343-
String response = okBody(httpResponse);
344-
logger.debug("Backroll Auth response 2 : " + response);
345-
logger.debug("Backroll Auth ok");
346-
result = true;
347-
} catch (NotOkBodyException e) {
348-
logger.error(e);
349-
e.printStackTrace();
350-
result = false;
351-
}
352-
return result;
353-
}
354-
355350
private void closeConnection(CloseableHttpResponse closeableHttpResponse) throws IOException {
356351
closeableHttpResponse.close();
357352
}
@@ -387,8 +382,8 @@ protected void login() throws BackrollApiException, IOException {
387382
logger.info("BACKROLL: " + response);
388383
LoginApiResponse loginResponse = objectMapper.readValue(response, LoginApiResponse.class);
389384
logger.info("ok");
390-
backrollToken = loginResponse.accessToken;
391-
logger.debug("Backroll client - Token : {}", backrollToken);
385+
token = loginResponse.accessToken;
386+
logger.debug("Backroll client - Token : {}", token);
392387

393388
if (StringUtils.isEmpty(loginResponse.accessToken)) {
394389
throw new CloudRuntimeException("Backroll token is not available to perform API requests");

0 commit comments

Comments
 (0)