Test case fix for proxy tenant id

4.x.x
inoshperera 5 years ago
parent 2ab0efbcdd
commit 9fab25d8d4

@ -22,7 +22,7 @@ public final class Constants {
public static final String AUTHORIZATION_HEADER_PREFIX_BEARER = "Bearer";
public static final String NO_MATCHING_AUTH_SCHEME = "noMatchedAuthScheme";
public static final String PROXY_TENANT_ID = "ProxyTenantId";
public static final String PROXY_TENANT_ID = "Proxy-Tenant-Id";
public static final class HTTPHeaders {
private HTTPHeaders() {

@ -50,8 +50,9 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
@Override
public void invoke(Request request, Response response, CompositeValve compositeValve) {
if (this.isContextSkipped(request) || this.skipAuthentication(request)) {
this.getNext().invoke(request, response, compositeValve);
if ((this.isContextSkipped(request) || this.skipAuthentication(request))
&& (StringUtils.isEmpty(request.getHeader(AUTHORIZE_PERMISSION)))) {
this.getNext().invoke(request, response, compositeValve);
return;
}
@ -109,7 +110,8 @@ public class WebappAuthenticationValve extends CarbonTomcatValve {
privilegedCarbonContext.setTenantId(authenticationInfo.getTenantId());
privilegedCarbonContext.setTenantDomain(authenticationInfo.getTenantDomain());
privilegedCarbonContext.setUsername(authenticationInfo.getUsername());
if (authenticationInfo.isSuperTenantAdmin()) {
if (authenticationInfo.isSuperTenantAdmin() && request.getHeader(Constants
.PROXY_TENANT_ID) != null) {
// If this is a call from super admin to an API and the ProxyTenantId is also
// present, this is a call that is made with super admin credentials to call
// an API on behalf of another tenant. Hence the actual tenants, details are

Loading…
Cancel
Save