Author: prabath
Date: Thu Mar 13 23:57:21 2008
New Revision: 14798

Log:

fixed the issue associated with when query string exceeds the limits in a GET 
request and PAPE related fixes

Modified:
   
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
   
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
   trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp

Modified: 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
==============================================================================
--- 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     (original)
+++ 
trunk/solutions/identity/modules/identity-provider/src/main/java/org/wso2/solutions/identity/openid/OpenIDProvider.java
     Thu Mar 13 23:57:21 2008
@@ -249,9 +249,9 @@
 
             req = new OpenIDAuthenticationRequest();
 
-            if ("true".equals(session.getAttribute("infocardsignin"))) {
+            if 
("true".equals(session.getAttribute("phishingResistanceAuthentication"))) {
                 req.setPhishingResistanceLogin(true);
-                session.removeAttribute("infocardsignin");
+                session.removeAttribute("phishingResistanceAuthentication");
             }
 
             if ("true".equals(session.getAttribute("multifactorlogin"))) {
@@ -289,7 +289,8 @@
      * @param message
      */
     private void sendData(HttpServletRequest httpReq,
-            HttpServletResponse httpResp, Message message) {
+            HttpServletResponse httpResp, Message message)
+            throws IdentityProviderException {
 
         try {
             String page = null;
@@ -298,12 +299,14 @@
 
             // HTML FORM Redirection
             RequestDispatcher dispatcher = httpReq.getRequestDispatcher(page);
-            httpReq.setAttribute("prameterMap", message.getParameterMap());
+            httpReq.setAttribute("parameterMap", message.getParameterMap());
             httpReq.setAttribute("destinationUrl", message
                     .getDestinationUrl(false));
             dispatcher.forward(httpReq, httpResp);
-
         } catch (Exception e) {
+            throw new IdentityProviderException(
+                    IdentityConstants.ErrorCodes.OPENID_RESP_GENERATION_FAILED,
+                    e);
         }
     }
 

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
 (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthVerificationAction.java
 Thu Mar 13 23:57:21 2008
@@ -123,7 +123,7 @@
 
                 // OpenID Provider needs to know which authentication mechanism
                 // the user went through while authenticating to the OP.
-                session.setAttribute("infocardsignin", "true");
+                session.setAttribute("phishingResistanceAuthentication", 
"true");
 
                 if (!isRequiredUserApproval(request)) {
                     // User has already agreed to accept request from this RP

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
   (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDAuthenticationAction.java
   Thu Mar 13 23:57:21 2008
@@ -81,6 +81,7 @@
                 if (policy
                         
.equalsIgnoreCase(IdentityConstants.OpenId.PapeAttributes.MULTI_FACTOR)) {
                     multiFactorAuthentication = true;
+                    phishingResistanceAuthentication = false;
                 }
                 if (policy
                         
.equalsIgnoreCase(IdentityConstants.OpenId.PapeAttributes.MULTI_FACTOR_PHYSICAL))
 {
@@ -117,12 +118,19 @@
             if (useInfoCard != null && useInfoCard.equals(openID)
                     && !multiFactorAuthentication
                     && !multiFactorPhysicalAuthentication) {
+                // OpenID Provider needs to know which authentication mechanism
+                // the user went through while authenticating to the OP.
+                session
+                        .setAttribute("phishingResistanceAuthentication",
+                                "true");
                 response.sendRedirect("OpenIDSelfIssuedLogin.action");
                 return SUCCESS;
             }
 
             if (rememberme && openidurl != null && openidurl.equals(openID)
-                    && password != null && !phishingResistanceAuthentication 
&& !multiFactorAuthentication) {
+                    && password != null && !phishingResistanceAuthentication
+                    && !multiFactorAuthentication
+                    && !multiFactorPhysicalAuthentication) {
                 session.setAttribute("password", password);
                 response.sendRedirect("OpenIDAuthVerification.action");
             }

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
==============================================================================
--- 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
 (original)
+++ 
trunk/solutions/identity/modules/user-ui/src/main/java/org/wso2/solutions/identity/user/ui/action/OpenIDRedirectAction.java
 Thu Mar 13 23:57:21 2008
@@ -1,5 +1,13 @@
 package org.wso2.solutions.identity.user.ui.action;
 
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import org.apache.struts2.StrutsStatics;
+
+import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionSupport;
 
 public class OpenIDRedirectAction extends ActionSupport {
@@ -9,11 +17,55 @@
      */
     private static final long serialVersionUID = -1951830854960371602L;
 
+    private Map parameterMap;
+
+    private String destinationUrl;
+
     /**
      * This will get executed during OpenID login
      */
     public String execute() throws Exception {
+
+        ActionContext context = null;
+        HttpServletRequest request = null;
+        HttpSession session = null;
+
+        try {
+            context = ActionContext.getContext();
+            request = (HttpServletRequest) context
+                    .get(StrutsStatics.HTTP_REQUEST);
+            session = request.getSession();
+
+            parameterMap = (Map) session.getAttribute("parameterMap");
+            destinationUrl = (String) session.getAttribute("destinationUrl");
+
+        } catch (RuntimeException e) {
+            return ERROR;
+        } finally {
+
+            if (session != null) {
+                session.removeAttribute("parameterMap");
+                session.removeAttribute("destinationUrl");
+            }
+        }
+
         return SUCCESS;
     }
 
+    public Map getParameterMap() {
+        return parameterMap;
+    }
+
+    public void setParameterMap(Map parameterMap) {
+        this.parameterMap = parameterMap;
+    }
+
+    public String getDestinationUrl() {
+        return destinationUrl;
+    }
+
+    public void setDestinationUrl(String destinationUrl) {
+        this.destinationUrl = destinationUrl;
+    }
+
 }

Modified: 
trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp
==============================================================================
--- trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp   
(original)
+++ trunk/solutions/identity/modules/user-ui/src/main/webapp/jsp/redirect.jsp   
Thu Mar 13 23:57:21 2008
@@ -1,5 +1,5 @@
 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-    pageEncoding="ISO-8859-1"%>
+       pageEncoding="ISO-8859-1"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
 <html>
 <head>
@@ -7,6 +7,10 @@
 <title>Insert title here</title>
 </head>
 <body>
-<%response.sendRedirect("OpenIDRedirect.action"); %>
+<%
+session.setAttribute("parameterMap",request.getAttribute("parameterMap"));
+session.setAttribute("destinationUrl",request.getAttribute("destinationUrl"));
+response.sendRedirect("OpenIDRedirect.action"); 
+%>
 </body>
 </html>
\ No newline at end of file

_______________________________________________
Identity-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/identity-dev

Reply via email to