mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fix login issue with user other than super admin just after starting the pack
This commit is contained in:
parent
36617436d6
commit
b699cae11e
@ -27,15 +27,13 @@ import org.wso2.carbon.apimgt.application.extension.exception.APIManagerExceptio
|
||||
import org.wso2.carbon.apimgt.application.extension.internal.APIApplicationManagerExtensionDataHolder;
|
||||
import org.wso2.carbon.apimgt.application.extension.util.APIManagerUtil;
|
||||
import org.wso2.carbon.apimgt.integration.client.OAuthRequestInterceptor;
|
||||
import org.wso2.carbon.apimgt.integration.client.store.*;
|
||||
import org.wso2.carbon.apimgt.integration.client.store.StoreClient;
|
||||
import org.wso2.carbon.apimgt.integration.generated.client.store.model.*;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* This class represents an implementation of APIManagementProviderService.
|
||||
@ -53,24 +51,26 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
||||
.getTenantDomain();
|
||||
try {
|
||||
|
||||
storeClient.getIndividualTier().tiersTierLevelTierNameGet(ApiApplicationConstants.DEFAULT_TIER,
|
||||
APP_TIER_TYPE,
|
||||
tenantDomain, CONTENT_TYPE, null, null);
|
||||
APP_TIER_TYPE,
|
||||
tenantDomain, CONTENT_TYPE, null, null);
|
||||
return true;
|
||||
} catch (FeignException e) {
|
||||
log.error("Feign Exception", e);
|
||||
if (e.status() == 401) {
|
||||
OAuthRequestInterceptor oAuthRequestInterceptor = new OAuthRequestInterceptor();
|
||||
String username = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername();
|
||||
oAuthRequestInterceptor.removeToken(username, tenantDomain);
|
||||
try {
|
||||
storeClient.getIndividualTier().tiersTierLevelTierNameGet(ApiApplicationConstants.DEFAULT_TIER,
|
||||
APP_TIER_TYPE,tenantDomain, CONTENT_TYPE, null, null);
|
||||
APP_TIER_TYPE, tenantDomain, CONTENT_TYPE, null, null);
|
||||
} catch (FeignException ex) {
|
||||
log.error("Invalid Attempt : " + ex);
|
||||
return false;
|
||||
}
|
||||
} }
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("APIs not ready", e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -84,7 +84,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
if (applicationList.getList() != null && applicationList.getList().size() > 0) {
|
||||
ApplicationInfo applicationInfo = applicationList.getList().get(0);
|
||||
storeClient.getIndividualApplication().applicationsApplicationIdDelete(applicationInfo.getApplicationId(),
|
||||
null, null);
|
||||
null, null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,9 +93,9 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
*/
|
||||
@Override
|
||||
public synchronized ApiApplicationKey generateAndRetrieveApplicationKeys(String applicationName, String tags[],
|
||||
String keyType, String username,
|
||||
boolean isAllowedAllDomains, String validityTime,
|
||||
StoreClient sClient) throws APIManagerException {
|
||||
String keyType, String username,
|
||||
boolean isAllowedAllDomains, String validityTime,
|
||||
StoreClient sClient) throws APIManagerException {
|
||||
|
||||
StoreClient storeClient;
|
||||
|
||||
@ -227,7 +227,7 @@ public class APIManagementProviderServiceImpl implements APIManagementProviderSe
|
||||
boolean isAllowedAllDomains,
|
||||
String validityTime)
|
||||
throws APIManagerException {
|
||||
return this.generateAndRetrieveApplicationKeys(applicationName, tags, keyType, username,
|
||||
isAllowedAllDomains, validityTime, null);
|
||||
return this.generateAndRetrieveApplicationKeys(applicationName, tags, keyType, username,
|
||||
isAllowedAllDomains, validityTime, null);
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,7 +39,6 @@ import org.wso2.carbon.identity.jwt.client.extension.JWTClient;
|
||||
import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo;
|
||||
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@ -59,15 +58,13 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
private OAuthApplication oAuthApplication;
|
||||
private static Map<String, AccessTokenInfo> tenantUserTokenMap = new ConcurrentHashMap<>();
|
||||
private static final Log log = LogFactory.getLog(OAuthRequestInterceptor.class);
|
||||
private String username;
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* Creates an interceptor that authenticates all requests.
|
||||
*/
|
||||
public OAuthRequestInterceptor() {
|
||||
username = APIMConfigReader.getInstance().getConfig().getUsername();
|
||||
password = APIMConfigReader.getInstance().getConfig().getPassword();
|
||||
String username = APIMConfigReader.getInstance().getConfig().getUsername();
|
||||
String password = APIMConfigReader.getInstance().getConfig().getPassword();
|
||||
dcrClient = Feign.builder().client(new OkHttpClient(Utils.getSSLClient())).logger(new Slf4jLogger())
|
||||
.logLevel(Logger.Level.FULL).requestInterceptor(new BasicAuthRequestInterceptor(username, password))
|
||||
.contract(new JAXRSContract()).encoder(new GsonEncoder()).decoder(new GsonDecoder())
|
||||
@ -76,8 +73,6 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
}
|
||||
|
||||
public OAuthRequestInterceptor(String username, String password) {
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
dcrClient = Feign.builder().client(new OkHttpClient(Utils.getSSLClient())).logger(new Slf4jLogger())
|
||||
.logLevel(Logger.Level.FULL).requestInterceptor(new BasicAuthRequestInterceptor(username, password))
|
||||
.contract(new JAXRSContract()).encoder(new GsonEncoder()).decoder(new GsonDecoder())
|
||||
@ -93,7 +88,7 @@ public class OAuthRequestInterceptor implements RequestInterceptor {
|
||||
clientProfile.setClientName(APPLICATION_NAME);
|
||||
clientProfile.setCallbackUrl("");
|
||||
clientProfile.setGrantType(GRANT_TYPES);
|
||||
clientProfile.setOwner(username);
|
||||
clientProfile.setOwner(APIMConfigReader.getInstance().getConfig().getUsername());
|
||||
clientProfile.setSaasApp(true);
|
||||
oAuthApplication = dcrClient.register(clientProfile);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user