revert-70aa11f8
geethkokila 9 years ago
commit 37b4e27c42

@ -0,0 +1,36 @@
/*
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.wso2.carbon.webapp.authenticator.framework;
public class DataHolder {
private static WebappAuthenticatorRepository repository;
private DataHolder() {}
public static void setWebappAuthenticatorRepository (WebappAuthenticatorRepository repository) {
DataHolder.repository = repository;
}
public static WebappAuthenticatorRepository getWebappAuthenticatorRepository() {
return repository;
}
}

@ -31,6 +31,6 @@ public interface WebappAuthenticator {
Status authenticate(Request request, Response response); Status authenticate(Request request, Response response);
String getAuthenticatorName(); String getName();
} }

@ -29,7 +29,7 @@ import org.wso2.carbon.webapp.authenticator.framework.authenticator.OAuthAuthent
public class WebappAuthenticatorFactory { public class WebappAuthenticatorFactory {
public static WebappAuthenticator getAuthenticator(String authScheme) { public static WebappAuthenticator getAuthenticator(String authScheme) {
return new OAuthAuthenticator(); return DataHolder.getWebappAuthenticatorRepository().getAuthenticator(authScheme);
} }
} }

@ -29,14 +29,18 @@ import javax.servlet.http.HttpServletResponse;
public class WebappAuthenticatorFrameworkValve extends CarbonTomcatValve { public class WebappAuthenticatorFrameworkValve extends CarbonTomcatValve {
private static final String AUTHENTICATION_SCHEME = "AuthenticationScheme"; private static final String AUTHENTICATION_SCHEME = "authentication-scheme";
private static final Log log = LogFactory.getLog(WebappAuthenticatorFrameworkValve.class);
@Override @Override
public void invoke(Request request, Response response, CompositeValve compositeValve) { public void invoke(Request request, Response response, CompositeValve compositeValve) {
String authScheme = String authScheme =
request.getContext().findParameter(WebappAuthenticatorFrameworkValve.AUTHENTICATION_SCHEME); request.getContext().findParameter(WebappAuthenticatorFrameworkValve.AUTHENTICATION_SCHEME);
if (authScheme == null || "".equals(authScheme)) {
this.getNext().invoke(request, response, compositeValve);
return;
}
WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(authScheme); WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(authScheme);
WebappAuthenticator.Status status = authenticator.authenticate(request, response); WebappAuthenticator.Status status = authenticator.authenticate(request, response);
this.processResponse(request, response, compositeValve, status); this.processResponse(request, response, compositeValve, status);
} }
@ -55,5 +59,4 @@ public class WebappAuthenticatorFrameworkValve extends CarbonTomcatValve {
} }
} }
} }

@ -0,0 +1,40 @@
/*
* Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* WSO2 Inc. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.wso2.carbon.webapp.authenticator.framework;
import java.util.HashMap;
import java.util.Map;
public class WebappAuthenticatorRepository {
private Map<String, WebappAuthenticator> authenticators;
public WebappAuthenticatorRepository() {
this.authenticators = new HashMap<String, WebappAuthenticator>();
}
public void addAuthenticator(WebappAuthenticator authenticator) {
authenticators.put(authenticator.getName(), authenticator);
}
public WebappAuthenticator getAuthenticator(String name) {
return authenticators.get(name);
}
}

@ -28,7 +28,7 @@ import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticator;
public class BasicAuthAuthenticator implements WebappAuthenticator { public class BasicAuthAuthenticator implements WebappAuthenticator {
private static final String BASIC_AUTH_AUTHENTICATOR = "BasicAuthAuthenticator"; private static final String BASIC_AUTH_AUTHENTICATOR = "BasicAuth";
@Override @Override
public boolean isAuthenticated(Request request) { public boolean isAuthenticated(Request request) {
@ -41,7 +41,7 @@ public class BasicAuthAuthenticator implements WebappAuthenticator {
} }
@Override @Override
public String getAuthenticatorName() { public String getName() {
return BasicAuthAuthenticator.BASIC_AUTH_AUTHENTICATOR; return BasicAuthAuthenticator.BASIC_AUTH_AUTHENTICATOR;
} }

@ -37,7 +37,7 @@ import java.util.StringTokenizer;
public class OAuthAuthenticator implements WebappAuthenticator { public class OAuthAuthenticator implements WebappAuthenticator {
private static final String OAUTH_AUTHENTICATOR = "OAuthAuthenticator"; private static final String OAUTH_AUTHENTICATOR = "OAuth";
private static APITokenAuthenticator authenticator = new APITokenAuthenticator(); private static APITokenAuthenticator authenticator = new APITokenAuthenticator();
private static final Log log = LogFactory.getLog(OAuthAuthenticator.class); private static final Log log = LogFactory.getLog(OAuthAuthenticator.class);
@ -97,7 +97,7 @@ public class OAuthAuthenticator implements WebappAuthenticator {
} }
@Override @Override
public String getAuthenticatorName() { public String getName() {
return OAuthAuthenticator.OAUTH_AUTHENTICATOR; return OAuthAuthenticator.OAUTH_AUTHENTICATOR;
} }

@ -24,7 +24,11 @@ import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext; import org.osgi.framework.BundleContext;
import org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve; import org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve;
import org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer; import org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer;
import org.wso2.carbon.webapp.authenticator.framework.DataHolder;
import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticator;
import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticatorFrameworkValve; import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticatorFrameworkValve;
import org.wso2.carbon.webapp.authenticator.framework.WebappAuthenticatorRepository;
import org.wso2.carbon.webapp.authenticator.framework.config.AuthenticatorConfig;
import org.wso2.carbon.webapp.authenticator.framework.config.WebappAuthenticatorConfig; import org.wso2.carbon.webapp.authenticator.framework.config.WebappAuthenticatorConfig;
import java.util.ArrayList; import java.util.ArrayList;
@ -41,6 +45,15 @@ public class WebappAuthenticatorFrameworkBundleActivator implements BundleActiva
} }
try { try {
WebappAuthenticatorConfig.init(); WebappAuthenticatorConfig.init();
WebappAuthenticatorRepository repository = new WebappAuthenticatorRepository();
for (AuthenticatorConfig config : WebappAuthenticatorConfig.getInstance().getAuthenticators()) {
WebappAuthenticator authenticator =
(WebappAuthenticator) Class.forName(config.getClassName()).newInstance();
repository.addAuthenticator(authenticator);
}
DataHolder.setWebappAuthenticatorRepository(repository);
List<CarbonTomcatValve> valves = new ArrayList<CarbonTomcatValve>(); List<CarbonTomcatValve> valves = new ArrayList<CarbonTomcatValve>();
valves.add(new WebappAuthenticatorFrameworkValve()); valves.add(new WebappAuthenticatorFrameworkValve());
TomcatValveContainer.addValves(valves); TomcatValveContainer.addValves(valves);

@ -27,51 +27,19 @@
<Transports>http,https</Transports> <Transports>http,https</Transports>
</API> </API>
<API> <API>
<Name>Enrollment</Name> <Name>AndroidAgent</Name>
<Owner>admin</Owner> <Owner>admin</Owner>
<Context>enrollment</Context> <Context>mdm-android-agent</Context>
<Version>1.0.0</Version> <Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-android-agent/enrollment</Endpoint> <Endpoint>http://localhost:9763/mdm-android-agent</Endpoint>
<Transports>http,https</Transports> <Transports>http,https</Transports>
</API> </API>
<API> <API>
<Name>License</Name> <Name>MDMAdmin</Name>
<Owner>admin</Owner> <Owner>admin</Owner>
<Context>license-mgt</Context> <Context>mdm-admin</Context>
<Version>1.0.0</Version> <Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-android-agent/device/license</Endpoint> <Endpoint>http://localhost:9763/mdm-admin</Endpoint>
<Transports>http,https</Transports>
</API>
<API>
<Name>Operation</Name>
<Owner>admin</Owner>
<Context>operation</Context>
<Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-android-agent/operation</Endpoint>
<Transports>http,https</Transports>
</API>
<API>
<Name>Device List</Name>
<Owner>admin</Owner>
<Context>devices</Context>
<Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-admin/devices</Endpoint>
<Transports>http,https</Transports>
</API>
<API>
<Name>APP Install Operation</Name>
<Owner>admin</Owner>
<Context>operations</Context>
<Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-android-agent/operations/installApp</Endpoint>
<Transports>http,https</Transports>
</API>
<API>
<Name>APP UN Install Operation</Name>
<Owner>admin</Owner>
<Context>operations</Context>
<Version>1.0.0</Version>
<Endpoint>http://localhost:9763/mdm-android-agent/operations/uninstallApp</Endpoint>
<Transports>http,https</Transports> <Transports>http,https</Transports>
</API> </API>
</APIs> </APIs>

Loading…
Cancel
Save