Skip to content

Commit

Permalink
Merge pull request #13228 from prasa7/product-scenarios-4.0.0
Browse files Browse the repository at this point in the history
Fixed using the same adcesstoken for multiple scenario tests requests.
  • Loading branch information
prasa7 committed Jun 25, 2023
2 parents 571afc5 + 352e933 commit f7b6812
Showing 1 changed file with 9 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import static org.wso2.am.integration.test.Constants.CHAR_AT;

Expand All @@ -42,7 +41,6 @@ public class ClientAuthenticator {
private static TrustManager trustAll;
private static String consumerKey = null;
private static String consumerSecret = null;
private static Map<String, ApplicationKeyBean> applicationKeyMap = new HashMap<>();
private static final String TLS_PROTOCOL = "TLS";
private static int count = 0;
static {
Expand All @@ -66,6 +64,11 @@ public X509Certificate[] getAcceptedIssuers() {

public static String getAccessToken(String scopeList, String appName, String callBackURL, String tokenScope, String appOwner,
String grantType, String dcrEndpoint, String username, String password, String tenantDomain, String tokenEndpoint) {

DCRParamRequest dcrParamRequest = new DCRParamRequest(UUID.randomUUID().toString(), callBackURL,
tokenScope, appOwner, grantType, dcrEndpoint,username, password,tenantDomain);

makeDCRRequest(dcrParamRequest);
URL url;
HttpsURLConnection urlConn = null;
//calling token endpoint
Expand All @@ -76,10 +79,8 @@ public static String getAccessToken(String scopeList, String appName, String cal
urlConn.setRequestMethod("POST");
urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

ApplicationKeyBean applicationKeyBean = applicationKeyMap.get(appName);
String clientEncoded = DatatypeConverter.printBase64Binary(
(applicationKeyBean.getConsumerKey()
+ ':' + applicationKeyBean.getConsumerSecret()).getBytes(StandardCharsets.UTF_8));
(consumerKey + ':' + consumerSecret).getBytes(StandardCharsets.UTF_8));
urlConn.setRequestProperty("Authorization", "Basic " + clientEncoded);
if (!MultitenantConstants.SUPER_TENANT_DOMAIN_NAME.equalsIgnoreCase(tenantDomain) || username.contains(CHAR_AT)) {
username = username + CHAR_AT + tenantDomain;
Expand Down Expand Up @@ -157,7 +158,6 @@ public static ApplicationKeyBean makeDCRRequest(DCRParamRequest dcrParamRequest)
CloseableHttpClient closeableHttpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost();
httpPost.setURI(URI.create(dcrParamRequest.getDcrEndpoint()));

httpPost.addHeader("Content-Type", "application/json");
httpPost.addHeader("Authorization", "Basic " + clientEncoded);
httpPost.setEntity(new StringEntity(json.toString()));
Expand All @@ -169,9 +169,8 @@ public static ApplicationKeyBean makeDCRRequest(DCRParamRequest dcrParamRequest)
ApplicationKeyBean applicationKeyBean = new ApplicationKeyBean();
JsonParser parser = new JsonParser();
JsonObject jObj = parser.parse(responseStr).getAsJsonObject();
applicationKeyBean.setConsumerKey(jObj.getAsJsonPrimitive("clientId").getAsString());
applicationKeyBean.setConsumerSecret(jObj.getAsJsonPrimitive("clientSecret").getAsString());
applicationKeyMap.put(dcrParamRequest.getAppName(), applicationKeyBean);
consumerKey = jObj.getAsJsonPrimitive("clientId").getAsString();
consumerSecret = jObj.getAsJsonPrimitive("clientSecret").getAsString();
return applicationKeyBean;
}
} else { //If DCR call fails
Expand Down

0 comments on commit f7b6812

Please sign in to comment.