Skip to content

Commit

Permalink
logging, mapping the oathfilter to the op request
Browse files Browse the repository at this point in the history
  • Loading branch information
barmintor committed Jun 11, 2013
1 parent 3613db3 commit f863741
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 19 deletions.
13 changes: 12 additions & 1 deletion src/main/java/org/fcrepo/auth/oauth/filter/OAuthFilter.java
Expand Up @@ -8,6 +8,7 @@
import static org.apache.oltu.oauth2.common.error.OAuthError.ResourceResponse.INSUFFICIENT_SCOPE;
import static org.apache.oltu.oauth2.common.message.OAuthResponse.errorResponse;
import static org.apache.oltu.oauth2.rsfilter.OAuthUtils.isEmpty;
import static org.slf4j.LoggerFactory.getLogger;

import java.io.IOException;
import java.security.Principal;
Expand All @@ -30,18 +31,26 @@
import org.apache.oltu.oauth2.rs.request.OAuthAccessResourceRequest;
import org.apache.oltu.oauth2.rsfilter.OAuthDecision;
import org.apache.oltu.oauth2.rsfilter.OAuthRSProvider;
import org.slf4j.Logger;

public class OAuthFilter implements Filter {

private static final Logger LOGGER = getLogger(OAuthFilter.class);

private String realm;

private OAuthRSProvider provider;

private Set<ParameterStyle> parameterStyles;

public void init() {
LOGGER.debug("Initing {}", getClass().getName());

}

@Override
public void init(final FilterConfig filterConfig) throws ServletException {

init();
}

@Override
Expand All @@ -51,6 +60,7 @@ public void doFilter(ServletRequest request,
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse res = (HttpServletResponse) response;

LOGGER.debug("Filtering {}", ((HttpServletRequest)request).getRequestURI());
try {

// Make an OAuth Request out of this servlet request
Expand All @@ -61,6 +71,7 @@ public void doFilter(ServletRequest request,
// Get the access token
final String accessToken = oauthRequest.getAccessToken();

LOGGER.debug("Validating {}", accessToken);
final OAuthDecision decision =
provider.validateRequest(realm, accessToken, req);

Expand Down
Expand Up @@ -86,7 +86,6 @@ public void start() throws Exception {

server = GrizzlyWebContainerFactory.create(uri, initParams);


WebappContext wac = new WebappContext("test", "");

wac.addContextInitParameter("contextConfigLocation",
Expand All @@ -98,25 +97,23 @@ public void start() throws Exception {
ServletRegistration servlet = wac.addServlet("jersey-servlet", SpringServlet.class);

servlet.addMapping("/*");

// servlet.setInitParameter(ServletContainer.RESOURCE_CONFIG_CLASS,
// PackagesResourceConfig.class.getName());


servlet.setInitParameter("com.sun.jersey.config.property.packages", "org.fcrepo");

servlet.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
//
// FilterRegistration filter = wac.addFilter("delegating-2", DelegatingFilterProxy.class);
//
// filter.setInitParameter("targetBeanName", "oauthFilter");
//
// filter.addMappingForUrlPatterns(null, "/authorization");
//
// filter = wac.addFilter("delegating-1", DelegatingFilterProxy.class);
//
// filter.setInitParameter("targetBeanName", "authNFilter");
//
// filter.addMappingForUrlPatterns(null, "/token");

FilterRegistration opFilter = wac.addFilter("OpFilter", DelegatingFilterProxy.class);

opFilter.setInitParameter("targetBeanName", "oauthFilter");

opFilter.addMappingForUrlPatterns(null, "/rest/objects/authenticated/*");
opFilter.addMappingForUrlPatterns(null, "/rest/objects/authenticated");

FilterRegistration tokenFilter = wac.addFilter("TokenFilter", DelegatingFilterProxy.class);

tokenFilter.setInitParameter("targetBeanName", "authNFilter");

tokenFilter.addMappingForUrlPatterns(null, "/token");

wac.deploy(server);

Expand Down
2 changes: 1 addition & 1 deletion src/test/resources/spring-test/security.xml
Expand Up @@ -10,7 +10,7 @@

<context:annotation-config/>

<bean name="oauthFilter" class="org.fcrepo.auth.oauth.filter.OAuthFilter">
<bean name="oauthFilter" class="org.fcrepo.auth.oauth.filter.OAuthFilter" init-method="init">
<property name="realm" value="fedora"/>
<property name="provider">
<bean class="org.fcrepo.auth.oauth.DefaultOAuthResourceProvider">
Expand Down

0 comments on commit f863741

Please sign in to comment.