ERP용 token 발급 개발

This commit is contained in:
curry772
2026-06-25 09:55:27 +09:00
parent 3574ad9e0c
commit 73ed49372a
2 changed files with 35 additions and 45 deletions
@@ -146,6 +146,7 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
String headerGroupName = prop.getProperty(HEADER_GROUP);
String relayResponseHeaderKeys = prop.getProperty(HEADER_KEYS, "");
useAdapterToken = StringUtils.equalsIgnoreCase(prop.getProperty("ADAPTER_TOKEN_USE_YN", "N"), "Y");
String authorizationHeaderName = prop.getProperty("ADAPTER_TOKEN_HEADER_NAME", "Authorization");
boolean useForwardProxy = StringUtils.equalsIgnoreCase(prop.getProperty("FORWARD_PROXY_USE_YN", "N"), "Y");
String forwardProxyUrl = prop.getProperty("FORWARD_PROXY_URL");
@@ -332,8 +333,6 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
// OAuth2AccessToken check 부분을 뒤에서 여기로 위치를 옮김, 나이스지키미 암호화 KEY를 얻기 위해서. JWHONG
OAuth2AccessTokenVO accessToken = null;
String auth ="";
Date currentDate = new Date();
if (useAdapterToken) {
AccessTokenManagerByDB tokenManager = AccessTokenManagerByDB.getInstance();
accessToken = (OAuth2AccessTokenVO) tokenManager.getAccessTokenVO(vo.getAdapterGroupName());
@@ -351,29 +350,11 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
+ accessToken + "]");
}
Properties properties = AdapterPropManager.getInstance().getProperties(vo.getAdapterName()); // jwhong
String encryptAlgorithm = properties.getProperty("ENCRYPT_ALGORITHM"); // jwhong
if (useAdapterToken && "AES256-NICEON".equals(encryptAlgorithm)) {
String niceToken = accessToken.getAccessToken();
if ( niceToken == null || niceToken == "") {
throw new Exception("NiceOn Token is empty, TOKEN failed to be issued, TOKEN = [" + niceToken + "]");
}
String clientId = accessToken.getClientId(); // HttpClientAccessTokenServiceWithBase64NiceOn 서 넣어줌
long currentTime = currentDate.getTime() / 1000;
auth = niceToken + ":" + currentTime + ":" + clientId ;
logger.debug("HttpClientAdapterServiceRest] NiceOn auth = [" + auth + "]");
auth = Base64.getEncoder().encodeToString(auth.getBytes("UTF-8"));
logger.debug("HttpClientAdapterServiceRest] NiceOn Base64 encoded auth = [" + auth + "]");
setNiceOnAuthHeaders(method, auth);
} else {
setAuthHeaders(method, accessToken); // 원래 있던 logic
}
setAuthHeaders(method, accessToken, authorizationHeaderName);
if (logger.isDebug()) {
logger.debug("HttpClientAdapterServiceRest] SEND (" + vo.getAdapterGroupName()
+ ") RequestHeader [" + method.getHeader("Authorization").getName() + ": " + method.getHeader("Authorization").getValue() + "]");
+ ") RequestHeader [" + method.getHeader(authorizationHeaderName).getName() + ": " + method.getHeader(authorizationHeaderName).getValue() + "]");
}
}
@@ -390,7 +371,7 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
logger.debug("authToken :::::::::::::::::::::::::::::::::::" + authToken);
if(!StringUtils.isBlank(authToken)) {
setAuthHeaders(method, authToken);
setAuthHeaders(method, authToken, authorizationHeaderName);
}
// 여기 까지
@@ -618,9 +599,8 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
String oldToken = accessToken == null ? null : accessToken.getAccessToken();
OAuth2AccessTokenVO newaccessToken = (OAuth2AccessTokenVO) tokenManager
.retryAccessTokenVO(vo.getAdapterGroupName(), prop, oldToken);
method.setHeader("Authorization", newaccessToken.getAuthorization());
setAuthHeaders(method, newaccessToken);
setAuthHeaders(method, accessToken, authorizationHeaderName);
if (logger.isDebug() && "N".equals(vo.getTestCallYn())) {
logger.debug("HttpClientAdapterServiceRest] SEND (" + vo.getAdapterGroupName()
@@ -878,11 +858,21 @@ public class HttpClient5AdapterServiceRest extends HttpClient5AdapterServiceSupp
String.format("%s", authorization));
}
protected void setAuthHeaders(HttpUriRequestBase method, String authorization, String authorizationHeaderName) throws Exception {
method.setHeader(authorizationHeaderName,
String.format("%s", authorization));
}
protected void setAuthHeaders(HttpUriRequestBase method, OAuth2AccessTokenVO accessToken) throws Exception {
method.setHeader("Authorization",
String.format("%s %s", AccessTokenVO.BEARER_TYPE, accessToken.getAccessToken()));
}
protected void setAuthHeaders(HttpUriRequestBase method, OAuth2AccessTokenVO accessToken, String authorizationHeaderName) throws Exception {
method.setHeader(authorizationHeaderName,
String.format("%s %s", AccessTokenVO.BEARER_TYPE, accessToken.getAccessToken()));
}
/* nice on 나이스 지키미 용으로 생성함
* jwhong 2015-11-04
*/
@@ -327,7 +327,7 @@ public class AccessTokenManagerByDB implements Lifecycle {
logger.warn("No valid adapter configuration found for adapter group: {}", adapterGroupName);
}
}catch (Exception e) {
} catch (Exception e) {
logger.error("Task execution failed for adapter group: {}", adapterGroupName, e);
}