diff --git a/openid/src/main/java/org/springframework/security/ui/openid/OpenIdAuthenticationProcessingFilter.java b/openid/src/main/java/org/springframework/security/ui/openid/OpenIdAuthenticationProcessingFilter.java index 8c238b7744..a95d2cb3d2 100644 --- a/openid/src/main/java/org/springframework/security/ui/openid/OpenIdAuthenticationProcessingFilter.java +++ b/openid/src/main/java/org/springframework/security/ui/openid/OpenIdAuthenticationProcessingFilter.java @@ -21,6 +21,8 @@ import org.springframework.security.AuthenticationServiceException; import org.springframework.security.context.SecurityContextHolder; import org.springframework.security.providers.openid.OpenIDAuthenticationToken; import org.springframework.security.ui.AbstractProcessingFilter; +import org.springframework.security.ui.FilterChainOrder; +import org.springframework.security.ui.openid.consumers.OpenId4JavaConsumer; import org.springframework.security.ui.webapp.AuthenticationProcessingFilter; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -32,10 +34,10 @@ import java.io.IOException; /** - * DOCUMENT ME! * - * @author $author$ - * @version $Revision$ + * @author Ray Krueger + * @version $Id$ + * @since 2.0 */ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilter { //~ Static fields/initializers ===================================================================================== @@ -47,12 +49,17 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt private OpenIDConsumer consumer; private String claimedIdentityFieldName = DEFAULT_CLAIMED_IDENTITY_FIELD; - private String errorPage = "index.jsp"; //~ Methods ======================================================================================================== - public Authentication attemptAuthentication(HttpServletRequest req) - throws AuthenticationException { + public void afterPropertiesSet() throws Exception { + super.afterPropertiesSet(); + if (consumer == null) { + consumer = new OpenId4JavaConsumer(); + } + } + + public Authentication attemptAuthentication(HttpServletRequest req) throws AuthenticationException { OpenIDAuthenticationToken token; String identity = req.getParameter("openid.identity"); @@ -112,10 +119,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt return "/j_spring_openid_security_check"; } - public String getErrorPage() { - return errorPage; - } - protected boolean isAuthenticated(HttpServletRequest request) { Authentication auth = SecurityContextHolder.getContext().getAuthentication(); @@ -156,10 +159,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt this.consumer = consumer; } - public void setErrorPage(String errorPage) { - this.errorPage = errorPage; - } - protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed) throws IOException { SecurityContextHolder.getContext().setAuthentication(null); @@ -185,6 +184,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt } public int getOrder() { - throw new UnsupportedOperationException(); + return FilterChainOrder.AUTHENTICATION_PROCESSING_FILTER; } }