mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Improving the way webapp requests are authenticated
This commit is contained in:
parent
1bbaac168b
commit
c8affcf836
@ -28,7 +28,7 @@ import org.wso2.carbon.webapp.authenticator.framework.authenticator.OAuthAuthent
|
||||
|
||||
public class WebappAuthenticatorFactory {
|
||||
|
||||
public static WebappAuthenticator getAuthenticator(Request request) {
|
||||
public static WebappAuthenticator getAuthenticator(String authScheme) {
|
||||
return new OAuthAuthenticator();
|
||||
}
|
||||
|
||||
|
||||
@ -29,11 +29,14 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
public class WebappAuthenticatorFrameworkValve extends CarbonTomcatValve {
|
||||
|
||||
private static final String AUTHENTICATION_SCHEME = "AuthenticationScheme";
|
||||
private static final Log log = LogFactory.getLog(WebappAuthenticatorFrameworkValve.class);
|
||||
|
||||
@Override
|
||||
public void invoke(Request request, Response response, CompositeValve compositeValve) {
|
||||
WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(request);
|
||||
String authScheme =
|
||||
request.getContext().findParameter(WebappAuthenticatorFrameworkValve.AUTHENTICATION_SCHEME);
|
||||
WebappAuthenticator authenticator = WebappAuthenticatorFactory.getAuthenticator(authScheme);
|
||||
WebappAuthenticator.Status status = authenticator.authenticate(request, response);
|
||||
this.processResponse(request, response, compositeValve, status);
|
||||
}
|
||||
|
||||
@ -49,8 +49,12 @@ public class OAuthAuthenticator implements WebappAuthenticator {
|
||||
|
||||
@Override
|
||||
public Status authenticate(Request request, Response response) {
|
||||
StringTokenizer tokenizer = new StringTokenizer(request.getRequestURI(), "/");
|
||||
String requestUri = request.getRequestURI();
|
||||
if (requestUri == null || "".equals(requestUri)) {
|
||||
return Status.CONTINUE;
|
||||
}
|
||||
|
||||
StringTokenizer tokenizer = new StringTokenizer(requestUri, "/");
|
||||
String context = request.getContextPath();
|
||||
if (context == null || "".equals(context)) {
|
||||
context = tokenizer.nextToken();
|
||||
@ -59,13 +63,13 @@ public class OAuthAuthenticator implements WebappAuthenticator {
|
||||
}
|
||||
}
|
||||
|
||||
boolean isContextCached = false;
|
||||
if (APIUtil.getAPIContextCache().get(context) != null) {
|
||||
isContextCached = Boolean.parseBoolean(APIUtil.getAPIContextCache().get(context).toString());
|
||||
}
|
||||
if (!isContextCached) {
|
||||
return Status.CONTINUE;
|
||||
}
|
||||
// boolean isContextCached = false;
|
||||
// if (APIUtil.getAPIContextCache().get(context) != null) {
|
||||
// isContextCached = Boolean.parseBoolean(APIUtil.getAPIContextCache().get(context).toString());
|
||||
// }
|
||||
// if (!isContextCached) {
|
||||
// return Status.CONTINUE;
|
||||
// }
|
||||
|
||||
try {
|
||||
String apiVersion = tokenizer.nextToken();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user