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